You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@abdera.apache.org by jm...@apache.org on 2007/11/06 20:45:54 UTC
svn commit: r592532 - in /incubator/abdera/java/trunk:
core/src/main/java/org/apache/abdera/util/
core/src/main/java/org/apache/abdera/writer/
parser/src/main/java/org/apache/abdera/parser/stax/
Author: jmsnell
Date: Tue Nov 6 11:45:54 2007
New Revision: 592532
URL: http://svn.apache.org/viewvc?rev=592532&view=rev
Log:
Add chaining to the StreamWriter.. In preliminary testing on the StreamWriter interface, I was
able to write out 1000 simple feeds with 500 entries each in around 14000ms. That's a major
improvement over using the FOM. When all we need to do is write out a document, the streamwriter should
be preferred over building up an object model with the FOM.
e.g.
ByteArrayOutputStream out = new ByteArrayOutputStream();
StreamWriter sw = abdera.newStreamWriter();
sw.setOutputStream(out)
.startDocument()
.startFeed()
.writeId("http://example.org")
.writeTitle("Testing")
.writeSubtitle("Foo")
.writeLink("http://example.org")
.writeCategory("foo")
.writeUpdated(new Date())
.startEntry()
.writeId("http://example.org/foo")
.writeTitle(Text.Type.HTML,"Entry title")
.writeUpdated(new Date())
.writeLink("http://example.org/1")
.writeAuthor("James",null,null)
.endEntry()
.endFeed()
.endDocument();
Modified:
incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/util/AbstractStreamWriter.java
incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/writer/StreamWriter.java
incubator/abdera/java/trunk/parser/src/main/java/org/apache/abdera/parser/stax/StaxStreamWriter.java
Modified: incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/util/AbstractStreamWriter.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/util/AbstractStreamWriter.java?rev=592532&r1=592531&r2=592532&view=diff
==============================================================================
--- incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/util/AbstractStreamWriter.java (original)
+++ incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/util/AbstractStreamWriter.java Tue Nov 6 11:45:54 2007
@@ -47,75 +47,92 @@
return name;
}
- public void startDocument() {
+ public StreamWriter startDocument() {
startDocument("1.0");
+ return this;
}
- public void endDocument() {}
+ public StreamWriter endDocument() {
+ return this;
+ }
- public void startFeed() {
+ public StreamWriter startFeed() {
startFeed(null);
+ return this;
}
- public void startFeed(Map<QName,String> attributes) {
+ public StreamWriter startFeed(Map<QName,String> attributes) {
startElement(Constants.FEED, attributes);
+ return this;
}
- public void endFeed() {
+ public StreamWriter endFeed() {
endElement();
+ return this;
}
- public void startEntry(Map<QName,String> attributes) {
+ public StreamWriter startEntry(Map<QName,String> attributes) {
startElement(Constants.ENTRY, attributes);
+ return this;
}
- public void startEntry() {
+ public StreamWriter startEntry() {
startEntry(null);
+ return this;
}
- public void endEntry() {
+ public StreamWriter endEntry() {
endElement();
+ return this;
}
- public void endCategory() {
+ public StreamWriter endCategory() {
endElement();
+ return this;
}
- public void endContent() {
+ public StreamWriter endContent() {
endElement();
+ return this;
}
- public void endLink() {
+ public StreamWriter endLink() {
endElement();
+ return this;
}
- public void endPerson() {
+ public StreamWriter endPerson() {
endElement();
+ return this;
}
- public void endSource() {
+ public StreamWriter endSource() {
endElement();
+ return this;
}
- public void endText() {
+ public StreamWriter endText() {
endElement();
+ return this;
}
- public void startCategory(
+ public StreamWriter startCategory(
String term,
Map<QName, String> attributes) {
startCategory(term,null,null,attributes);
+ return this;
}
- public void startCategory(
+ public StreamWriter startCategory(
String term,
String scheme,
Map<QName, String> attributes) {
startCategory(term,scheme,null,attributes);
+ return this;
}
- public void startCategory(
+ public StreamWriter startCategory(
String term,
String scheme,
String label,
@@ -125,9 +142,10 @@
if (scheme != null) attributes.put(new QName("scheme"),term);
if (label != null) attributes.put(new QName("label"),term);
startElement(Constants.CATEGORY,attributes);
+ return this;
}
- public void startLink(
+ public StreamWriter startLink(
String iri,
String rel,
String type,
@@ -143,79 +161,88 @@
if (hreflang != null) attributes.put(new QName("hreflang"),hreflang);
if (length > -1) attributes.put(new QName("length"),String.valueOf(length));
startElement(Constants.LINK,attributes);
-
+ return this;
}
- public void startPerson(
+ public StreamWriter startPerson(
QName qname,
Map<QName, String> attributes) {
startElement(qname, attributes);
+ return this;
}
- public void startSource(
+ public StreamWriter startSource(
Map<QName, String> attributes) {
startElement(Constants.SOURCE,attributes);
+ return this;
}
- public void startText(
+ public StreamWriter startText(
QName qname,
Text.Type type,
Map<QName, String> attributes) {
if (attributes == null) attributes = new HashMap<QName,String>();
attributes.put(new QName("type"),type!=null?type.name().toLowerCase():"text");
startElement(qname,attributes);
+ return this;
}
- public void writeDate(
+ public StreamWriter writeDate(
QName qname,
String date,
Map<QName, String> attributes) {
startElement(qname,attributes);
writeElementText(date);
endElement();
+ return this;
}
- public void writeIRIElement(
+ public StreamWriter writeIRIElement(
QName qname,
String iri,
Map<QName, String> attributes) {
startElement(qname,attributes);
writeElementText(iri);
endElement();
+ return this;
}
- public void writePersonEmail(
+ public StreamWriter writePersonEmail(
String email,
Map<QName, String> attributes) {
startElement(Constants.EMAIL,attributes);
writeElementText(email);
endElement();
+ return this;
}
- public void writePersonName(
+ public StreamWriter writePersonName(
String name,
Map<QName, String> attributes) {
startElement(Constants.NAME,attributes);
writeElementText(name);
- endElement();
+ endElement();
+ return this;
}
- public void writePersonUri(
+ public StreamWriter writePersonUri(
String uri,
Map<QName, String> attributes) {
startElement(Constants.URI,attributes);
writeElementText(uri);
endElement();
+ return this;
}
- public void startContent(
+ public StreamWriter startContent(
Content.Type type,
String src,
Map<QName, String> attributes) {
startContent(type.name().toLowerCase(),src,attributes);
+ return this;
}
- public void startContent(
+ public StreamWriter startContent(
String type,
String src,
Map<QName, String> attributes) {
@@ -223,151 +250,171 @@
attributes.put(new QName("type"),type);
if (src != null) attributes.put(new QName("src"),src);
startElement(Constants.CONTENT,attributes);
+ return this;
}
- public void startContent(
+ public StreamWriter startContent(
Content.Type type,
Map<QName, String> attributes) {
startContent(type,null,attributes);
+ return this;
}
- public void startContent(
+ public StreamWriter startContent(
String type,
Map<QName, String> attributes) {
startContent(type,null,attributes);
+ return this;
}
- public void startLink(
+ public StreamWriter startLink(
String iri,
Map<QName, String> attributes) {
startLink(iri,null,null,null,null,-1,attributes);
+ return this;
}
- public void startLink(
+ public StreamWriter startLink(
String iri,
String rel,
Map<QName, String> attributes) {
startLink(iri,rel,null,null,null,-1,attributes);
+ return this;
}
- public void startLink(
+ public StreamWriter startLink(
String iri,
String rel,
String type,
Map<QName, String> attributes) {
startLink(iri,rel,type,null,null,-1,attributes);
+ return this;
}
- public void writeCategory(
+ public StreamWriter writeCategory(
String term, Map<QName,
String> attributes) {
startCategory(term, attributes);
endCategory();
+ return this;
}
- public void writeCategory(
+ public StreamWriter writeCategory(
String term,
String scheme,
Map<QName, String> attributes) {
startCategory(term,scheme,attributes);
endCategory();
+ return this;
}
- public void writeCategory(
+ public StreamWriter writeCategory(
String term,
String scheme,
String label,
Map<QName, String> attributes) {
startCategory(term,scheme,label,attributes);
endCategory();
+ return this;
}
- public void writeContent(
+ public StreamWriter writeContent(
Content.Type type,
String value,
Map<QName, String> attributes) {
startContent(type,attributes);
writeElementText(value);
endContent();
+ return this;
}
- public void writeContent(
+ public StreamWriter writeContent(
Content.Type type,
InputStream value,
Map<QName, String> attributes) throws IOException {
startContent(type,attributes);
writeElementText(value);
- endContent();
+ endContent();
+ return this;
}
- public void writeContent(
+ public StreamWriter writeContent(
Content.Type type,
DataHandler value,
Map<QName, String> attributes) throws IOException {
startContent(type,attributes);
writeElementText(value);
endContent();
+ return this;
}
- public void writeContent(
+ public StreamWriter writeContent(
String type,
String value,
Map<QName, String> attributes) {
startContent(type,attributes);
writeElementText(value);
endContent();
+ return this;
}
- public void writeEdited(
+ public StreamWriter writeEdited(
Date date,
Map<QName, String> attributes) {
writeDate(Constants.EDITED, date, attributes);
+ return this;
}
- public void writeId(
+ public StreamWriter writeId(
String iri,
Map<QName, String> attributes) {
writeIRIElement(Constants.ID, iri, attributes);
+ return this;
}
- public void writeIcon(
+ public StreamWriter writeIcon(
String iri,
Map<QName,String> attributes) {
writeIRIElement(Constants.ICON, iri, attributes);
+ return this;
}
- public void writeLogo(
+ public StreamWriter writeLogo(
String iri,
Map<QName,String> attributes) {
writeIRIElement(Constants.LOGO, iri, attributes);
+ return this;
}
- public void writeLink(
+ public StreamWriter writeLink(
String iri,
Map<QName, String> attributes) {
startLink(iri, attributes);
endLink();
+ return this;
}
- public void writeLink(
+ public StreamWriter writeLink(
String iri,
String rel,
Map<QName, String> attributes) {
startLink(iri, rel, attributes);
endLink();
+ return this;
}
- public void writeLink(
+ public StreamWriter writeLink(
String iri,
String rel,
String type,
Map<QName, String> attributes) {
startLink(iri, rel, type, attributes);
endLink();
+ return this;
}
- public void writeLink(
+ public StreamWriter writeLink(
String iri,
String rel,
String type,
@@ -377,9 +424,10 @@
Map<QName, String> attributes) {
startLink(iri, rel, type, title, hreflang, length, attributes);
endLink();
+ return this;
}
- public void writePerson(
+ public StreamWriter writePerson(
QName qname,
String name,
String email,
@@ -390,15 +438,17 @@
if (email != null) writePersonEmail(email,null);
if (uri != null) writePersonUri(uri,null);
endPerson();
+ return this;
}
- public void writePublished(
+ public StreamWriter writePublished(
Date date,
Map<QName, String> attributes) {
writeDate(Constants.PUBLISHED,date,attributes);
+ return this;
}
- public void writeText(
+ public StreamWriter writeText(
QName qname,
Text.Type type,
String value,
@@ -406,490 +456,599 @@
startText(qname,type,attributes);
writeElementText(value);
endText();
+ return this;
}
- public void writeUpdated(
+ public StreamWriter writeUpdated(
Date date,
Map<QName, String> attributes) {
writeDate(Constants.UPDATED,date,attributes);
+ return this;
}
- public void writeUpdated(String date, Map<QName,String> attributes) {
+ public StreamWriter writeUpdated(String date, Map<QName,String> attributes) {
writeDate(Constants.UPDATED, date, attributes);
+ return this;
}
- public void writePublished(String date, Map<QName,String> attributes) {
+ public StreamWriter writePublished(String date, Map<QName,String> attributes) {
writeDate(Constants.PUBLISHED, date, attributes);
+ return this;
}
- public void writeEdited(String date, Map<QName,String> attributes) {
+ public StreamWriter writeEdited(String date, Map<QName,String> attributes) {
writeDate(Constants.EDITED, date, attributes);
+ return this;
}
- public void writeDate(QName qname, Date date, Map<QName,String> attributes) {
+ public StreamWriter writeDate(QName qname, Date date, Map<QName,String> attributes) {
writeDate(qname, AtomDate.format(date), attributes);
+ return this;
}
- public void writeId(IRI iri, Map<QName,String> attributes) {
+ public StreamWriter writeId(IRI iri, Map<QName,String> attributes) {
writeIRIElement(Constants.ID, iri, attributes);
+ return this;
}
- public void writeIcon(IRI iri, Map<QName,String> attributes) {
+ public StreamWriter writeIcon(IRI iri, Map<QName,String> attributes) {
writeIRIElement(Constants.ICON, iri, attributes);
+ return this;
}
- public void writeLogo(IRI iri, Map<QName,String> attributes) {
+ public StreamWriter writeLogo(IRI iri, Map<QName,String> attributes) {
writeIRIElement(Constants.LOGO, iri, attributes);
+ return this;
}
- public void writeIRIElement(QName qname, IRI iri, Map<QName,String> attributes) {
+ public StreamWriter writeIRIElement(QName qname, IRI iri, Map<QName,String> attributes) {
writeIRIElement(qname, iri.toString(), attributes);
+ return this;
}
- public void writeElementText(InputStream value) throws IOException {
+ public StreamWriter writeElementText(InputStream value) throws IOException {
ByteArrayOutputStream out = new ByteArrayOutputStream();
byte[] buf = new byte[1024];
int r = -1;
while ((r = value.read(buf)) != -1) out.write(buf,0,r);
byte[] data = out.toByteArray();
writeElementText(new String(Base64.encodeBase64(data),"UTF-8"));
+ return this;
}
- public void writeElementText(DataHandler value) throws IOException {
+ public StreamWriter writeElementText(DataHandler value) throws IOException {
writeElementText(value.getInputStream());
+ return this;
}
- public void writeTitle(String value) {
+ public StreamWriter writeTitle(String value) {
writeText(Constants.TITLE, Text.Type.TEXT, value, null);
+ return this;
}
- public void writeTitle(Text.Type type, String value) {
+ public StreamWriter writeTitle(Text.Type type, String value) {
writeText(Constants.TITLE, type, value, null);
+ return this;
}
- public void writeSubtitle(String value) {
+ public StreamWriter writeSubtitle(String value) {
writeText(Constants.SUBTITLE, Text.Type.TEXT, value, null);
+ return this;
}
- public void writeSubtitle(Text.Type type, String value) {
+ public StreamWriter writeSubtitle(Text.Type type, String value) {
writeText(Constants.SUBTITLE, type, value, null);
+ return this;
}
- public void writeSummary(String value) {
+ public StreamWriter writeSummary(String value) {
writeText(Constants.SUMMARY, Text.Type.TEXT, value, null);
+ return this;
}
- public void writeSummary(Text.Type type, String value) {
+ public StreamWriter writeSummary(Text.Type type, String value) {
writeText(Constants.SUMMARY, type, value, null);
+ return this;
}
- public void writeRights(String value) {
+ public StreamWriter writeRights(String value) {
writeText(Constants.RIGHTS, Text.Type.TEXT, value, null);
+ return this;
}
- public void writeRights(Text.Type type, String value) {
+ public StreamWriter writeRights(Text.Type type, String value) {
writeText(Constants.RIGHTS, type, value, null);
+ return this;
}
- public void writeTitle(String value, Map<QName,String> attributes) {
+ public StreamWriter writeTitle(String value, Map<QName,String> attributes) {
writeText(Constants.TITLE, Text.Type.TEXT, value, attributes);
+ return this;
}
- public void writeTitle(Text.Type type, String value, Map<QName,String> attributes) {
+ public StreamWriter writeTitle(Text.Type type, String value, Map<QName,String> attributes) {
writeText(Constants.TITLE, type, value, attributes);
+ return this;
}
- public void writeSubtitle(String value, Map<QName,String> attributes) {
+ public StreamWriter writeSubtitle(String value, Map<QName,String> attributes) {
writeText(Constants.SUBTITLE, Text.Type.TEXT, value, attributes);
+ return this;
}
- public void writeSubtitle(Text.Type type, String value, Map<QName,String> attributes) {
+ public StreamWriter writeSubtitle(Text.Type type, String value, Map<QName,String> attributes) {
writeText(Constants.SUBTITLE, type, value, attributes);
+ return this;
}
- public void writeSummary(String value, Map<QName,String> attributes) {
+ public StreamWriter writeSummary(String value, Map<QName,String> attributes) {
writeText(Constants.SUMMARY, Text.Type.TEXT, value, attributes);
+ return this;
}
- public void writeSummary(Text.Type type, String value, Map<QName,String> attributes) {
+ public StreamWriter writeSummary(Text.Type type, String value, Map<QName,String> attributes) {
writeText(Constants.SUMMARY, type, value, attributes);
+ return this;
}
- public void writeRights(String value, Map<QName,String> attributes) {
+ public StreamWriter writeRights(String value, Map<QName,String> attributes) {
writeText(Constants.RIGHTS, Text.Type.TEXT, value, attributes);
+ return this;
}
- public void writeRights(Text.Type type, String value, Map<QName,String> attributes) {
+ public StreamWriter writeRights(Text.Type type, String value, Map<QName,String> attributes) {
writeText(Constants.RIGHTS, type, value, attributes);
+ return this;
}
-
-
- public void writeId(String iri) {
- writeIRIElement(Constants.ID, iri, null);
+ public StreamWriter writeId(String iri) {
+ writeIRIElement(Constants.ID, iri, null);
+ return this;
}
- public void writeIcon(String iri) {
+ public StreamWriter writeIcon(String iri) {
writeIRIElement(Constants.ICON, iri, null);
+ return this;
}
- public void writeLogo(String iri) {
+ public StreamWriter writeLogo(String iri) {
writeIRIElement(Constants.LOGO, iri, null);
+ return this;
}
- public void writeIRIElement(QName qname, String iri) {
+ public StreamWriter writeIRIElement(QName qname, String iri) {
writeIRIElement(qname, iri, null);
+ return this;
}
- public void writeId(IRI iri) {
+ public StreamWriter writeId(IRI iri) {
writeIRIElement(Constants.ID, iri, null);
+ return this;
}
- public void writeIcon(IRI iri) {
+ public StreamWriter writeIcon(IRI iri) {
writeIRIElement(Constants.ICON, iri, null);
+ return this;
}
- public void writeLogo(IRI iri) {
+ public StreamWriter writeLogo(IRI iri) {
writeIRIElement(Constants.LOGO, iri, null);
+ return this;
}
- public void writeIRIElement(QName qname, IRI iri) {
+ public StreamWriter writeIRIElement(QName qname, IRI iri) {
writeIRIElement(qname, iri, null);
+ return this;
}
- public void writeId() {
+ public StreamWriter writeId() {
writeId((Map<QName,String>)null);
+ return this;
}
- public void writePerson(QName qname, String name, String email, String uri) {
+ public StreamWriter writePerson(QName qname, String name, String email, String uri) {
writePerson(qname,name,email,uri,null);
+ return this;
}
- public void startPerson(QName qname) {
+ public StreamWriter startPerson(QName qname) {
startPerson(qname,null);
+ return this;
}
- public void writePersonName(String name) {
+ public StreamWriter writePersonName(String name) {
writePersonName(name,null);
+ return this;
}
- public void writePersonEmail(String email) {
+ public StreamWriter writePersonEmail(String email) {
writePersonEmail(email,null);
+ return this;
}
- public void writePersonUri(String uri) {
+ public StreamWriter writePersonUri(String uri) {
writePersonUri(uri,null);
+ return this;
}
-
- public void writeAuthor(String name, String email, String uri) {
+ public StreamWriter writeAuthor(String name, String email, String uri) {
writePerson(Constants.AUTHOR,name,email,uri,null);
+ return this;
}
- public void writeAuthor(String name, String email, String uri, Map<QName,String> attributes) {
+ public StreamWriter writeAuthor(String name, String email, String uri, Map<QName,String> attributes) {
writePerson(Constants.AUTHOR,name,email,uri,attributes);
+ return this;
}
- public void startAuthor() {
+ public StreamWriter startAuthor() {
startElement(Constants.AUTHOR,null);
+ return this;
}
- public void startAuthor(Map<QName,String> attributes) {
+ public StreamWriter startAuthor(Map<QName,String> attributes) {
startElement(Constants.AUTHOR,attributes);
+ return this;
}
- public void endAuthor() {
+ public StreamWriter endAuthor() {
endElement();
+ return this;
}
- public void writeContributor(String name, String email, String uri) {
+ public StreamWriter writeContributor(String name, String email, String uri) {
writePerson(Constants.CONTRIBUTOR,name,email,uri,null);
+ return this;
}
- public void writeContributor(String name, String email, String uri, Map<QName,String> attributes) {
+ public StreamWriter writeContributor(String name, String email, String uri, Map<QName,String> attributes) {
writePerson(Constants.CONTRIBUTOR,name,email,uri,attributes);
+ return this;
}
- public void startContributor() {
+ public StreamWriter startContributor() {
startElement(Constants.CONTRIBUTOR,null);
+ return this;
}
- public void startContributor(Map<QName,String> attributes) {
+ public StreamWriter startContributor(Map<QName,String> attributes) {
startElement(Constants.CONTRIBUTOR,attributes);
+ return this;
}
- public void endContributor() {
+ public StreamWriter endContributor() {
endElement();
+ return this;
}
- public void writeGenerator(String version, String uri, String value) {
+ public StreamWriter writeGenerator(String version, String uri, String value) {
writeGenerator(version,uri,value,null);
+ return this;
}
- public void writeGenerator(String version, String uri, String value, Map<QName,String> attributes) {
+ public StreamWriter writeGenerator(String version, String uri, String value, Map<QName,String> attributes) {
if (attributes == null) attributes = new HashMap<QName,String>();
if (version != null) attributes.put(new QName("version"),version);
if (uri != null) attributes.put(new QName("uri"),uri);
startElement(Constants.GENERATOR,attributes);
writeElementText(value);
endElement();
+ return this;
}
- public void startGenerator(String version, String uri) {
+ public StreamWriter startGenerator(String version, String uri) {
startGenerator(version,uri,null);
+ return this;
}
- public void startGenerator(String version, String uri, Map<QName,String> attributes) {
+ public StreamWriter startGenerator(String version, String uri, Map<QName,String> attributes) {
if (attributes == null) attributes = new HashMap<QName,String>();
if (version != null) attributes.put(new QName("version"),version);
if (uri != null) attributes.put(new QName("uri"),uri);
- startElement(Constants.GENERATOR,attributes);
+ startElement(Constants.GENERATOR,attributes);
+ return this;
}
- public void endGenerator() {
+ public StreamWriter endGenerator() {
endElement();
+ return this;
}
- public void writeUpdated(Date date) {
+ public StreamWriter writeUpdated(Date date) {
writeUpdated(date,null);
+ return this;
}
- public void writePublished(Date date) {
+ public StreamWriter writePublished(Date date) {
writePublished(date,null);
+ return this;
}
- public void writeEdited(Date date) {
+ public StreamWriter writeEdited(Date date) {
writeEdited(date,null);
+ return this;
}
- public void writeDate(QName qname, Date date) {
+ public StreamWriter writeDate(QName qname, Date date) {
writeDate(qname,date,null);
+ return this;
}
- public void writeUpdated(String date) {
+ public StreamWriter writeUpdated(String date) {
writeUpdated(date,null);
+ return this;
}
- public void writePublished(String date) {
+ public StreamWriter writePublished(String date) {
writePublished(date,null);
+ return this;
}
- public void writeEdited(String date) {
+ public StreamWriter writeEdited(String date) {
writeEdited(date,null);
+ return this;
}
- public void writeDate(QName qname, String date) {
+ public StreamWriter writeDate(QName qname, String date) {
writeDate(qname, date,null);
+ return this;
}
- public void writeLink(String iri) {
+ public StreamWriter writeLink(String iri) {
writeLink(iri,(Map<QName,String>)null);
+ return this;
}
- public void writeLink(String iri, String rel) {
+ public StreamWriter writeLink(String iri, String rel) {
writeLink(iri,rel,(Map<QName,String>)null);
+ return this;
}
- public void writeLink(String iri, String rel, String type) {
+ public StreamWriter writeLink(String iri, String rel, String type) {
writeLink(iri,rel,type,(Map<QName,String>)null);
+ return this;
}
- public void writeLink(String iri, String rel, String type, String title, String hreflang, int length) {
+ public StreamWriter writeLink(String iri, String rel, String type, String title, String hreflang, int length) {
writeLink(iri,rel,type,title,hreflang,length,(Map<QName,String>)null);
+ return this;
}
- public void startLink(String iri) {
+ public StreamWriter startLink(String iri) {
startLink(iri,(Map<QName,String>)null);
+ return this;
}
- public void startLink(String iri, String rel) {
+ public StreamWriter startLink(String iri, String rel) {
startLink(iri,rel,(Map<QName,String>)null);
+ return this;
}
- public void startLink(String iri, String rel, String type) {
+ public StreamWriter startLink(String iri, String rel, String type) {
startLink(iri,rel,type,(Map<QName,String>)null);
+ return this;
}
- public void startLink(String iri, String rel, String type, String title, String hreflang, int length) {
+ public StreamWriter startLink(String iri, String rel, String type, String title, String hreflang, int length) {
startLink(iri,rel,type,title,hreflang,length,(Map<QName,String>)null);
+ return this;
}
- public void writeCategory(String term) {
- writeCategory(term,(Map<QName,String>)null);
+ public StreamWriter writeCategory(String term) {
+ writeCategory(term,(Map<QName,String>)null);
+ return this;
}
- public void writeCategory(String term, String scheme) {
- writeCategory(term,scheme,(Map<QName,String>)null);
+ public StreamWriter writeCategory(String term, String scheme) {
+ writeCategory(term,scheme,(Map<QName,String>)null);
+ return this;
}
- public void writeCategory(String term, String scheme, String label) {
- writeCategory(term,scheme,label,(Map<QName,String>)null);
+ public StreamWriter writeCategory(String term, String scheme, String label) {
+ writeCategory(term,scheme,label,(Map<QName,String>)null);
+ return this;
}
- public void startCategory(String term) {
- startCategory(term,(Map<QName,String>)null);
+ public StreamWriter startCategory(String term) {
+ startCategory(term,(Map<QName,String>)null);
+ return this;
}
- public void startCategory(String term, String scheme) {
- startCategory(term,scheme,(Map<QName,String>)null);
+ public StreamWriter startCategory(String term, String scheme) {
+ startCategory(term,scheme,(Map<QName,String>)null);
+ return this;
}
- public void startCategory(String term, String scheme, String label) {
- startCategory(term,scheme,label,(Map<QName,String>)null);
+ public StreamWriter startCategory(String term, String scheme, String label) {
+ startCategory(term,scheme,label,(Map<QName,String>)null);
+ return this;
}
- public void startSource() {
+ public StreamWriter startSource() {
startElement(Constants.SOURCE,null);
+ return this;
}
- public void writeText(QName qname, Text.Type type, String value) {
+ public StreamWriter writeText(QName qname, Text.Type type, String value) {
writeText(qname,type,value,null);
+ return this;
}
- public void startText(QName qname, Text.Type type) {
+ public StreamWriter startText(QName qname, Text.Type type) {
startText(qname,type,null);
+ return this;
}
- public void writeContent(Content.Type type, String value) {
+ public StreamWriter writeContent(Content.Type type, String value) {
writeContent(type,value,null);
+ return this;
}
- public void writeContent(Content.Type type, InputStream value) throws IOException {
+ public StreamWriter writeContent(Content.Type type, InputStream value) throws IOException {
writeContent(type,value,null);
+ return this;
}
- public void writeContent(Content.Type type, DataHandler value) throws IOException {
+ public StreamWriter writeContent(Content.Type type, DataHandler value) throws IOException {
writeContent(type,value,null);
+ return this;
}
- public void writeContent(String type, String value) {
+ public StreamWriter writeContent(String type, String value) {
writeContent(type,value,null);
+ return this;
}
- public void startContent(Content.Type type) {
+ public StreamWriter startContent(Content.Type type) {
startContent(type,(Map<QName,String>)null);
+ return this;
}
- public void startContent(String type) {
+ public StreamWriter startContent(String type) {
startContent(type,(Map<QName,String>)null);
+ return this;
}
- public void startContent(Content.Type type, String src) {
+ public StreamWriter startContent(Content.Type type, String src) {
startContent(type,(Map<QName,String>)null);
+ return this;
}
- public void startContent(String type, String src) {
+ public StreamWriter startContent(String type, String src) {
startContent(type,(Map<QName,String>)null);
+ return this;
}
- public void startElement(QName qname) {
+ public StreamWriter startElement(QName qname) {
startElement(qname,null);
+ return this;
}
- public void startService() {
+ public StreamWriter startService() {
startElement(Constants.SERVICE);
+ return this;
}
- public void startService(Map<QName,String> attributes) {
+ public StreamWriter startService(Map<QName,String> attributes) {
startElement(Constants.SERVICE,attributes);
+ return this;
}
- public void endService() {
+ public StreamWriter endService() {
endElement();
+ return this;
}
- public void startWorkspace() {
+ public StreamWriter startWorkspace() {
startElement(Constants.WORKSPACE, null);
+ return this;
}
- public void startWorkspace(Map<QName,String> attributes) {
+ public StreamWriter startWorkspace(Map<QName,String> attributes) {
startElement(Constants.WORKSPACE, attributes);
+ return this;
}
- public void endWorkspace() {
+ public StreamWriter endWorkspace() {
endElement();
+ return this;
}
- public void startCollection(String href) {
+ public StreamWriter startCollection(String href) {
startCollection(href, null);
+ return this;
}
- public void startCollection(String href, Map<QName,String> attributes) {
+ public StreamWriter startCollection(String href, Map<QName,String> attributes) {
if (attributes == null) attributes = new HashMap<QName,String>();
attributes.put(new QName("href"),href);
startElement(Constants.COLLECTION, attributes);
+ return this;
}
- public void endCollection() {
+ public StreamWriter endCollection() {
endElement();
+ return this;
}
- public void writeAccepts(String... accepts) {
+ public StreamWriter writeAccepts(String... accepts) {
for (String accept : accepts) {
startElement(Constants.ACCEPT,null);
writeElementText(accept);
endElement();
}
+ return this;
}
- public void startCategories() {
+ public StreamWriter startCategories() {
startCategories(false,null,null);
+ return this;
}
- public void startCategories(boolean fixed) {
+ public StreamWriter startCategories(boolean fixed) {
startCategories(fixed,null,null);
+ return this;
}
- public void startCategories(boolean fixed, String scheme) {
+ public StreamWriter startCategories(boolean fixed, String scheme) {
startCategories(fixed,scheme,null);
+ return this;
}
- public void startCategories(Map<QName,String> attributes) {
+ public StreamWriter startCategories(Map<QName,String> attributes) {
startCategories(false,null,attributes);
+ return this;
}
- public void startCategories(boolean fixed, Map<QName,String> attributes) {
+ public StreamWriter startCategories(boolean fixed, Map<QName,String> attributes) {
startCategories(fixed,null,attributes);
+ return this;
}
- public void startCategories(boolean fixed, String scheme, Map<QName,String> attributes) {
+ public StreamWriter startCategories(boolean fixed, String scheme, Map<QName,String> attributes) {
if (attributes == null) attributes = new HashMap<QName,String>();
if (fixed) attributes.put(new QName("fixed"),"true");
else attributes.remove("fixed");
if (scheme != null) attributes.put(new QName("scheme"),scheme);
startElement(Constants.CATEGORIES, attributes);
+ return this;
}
- public void endCategories() {
+ public StreamWriter endCategories() {
endElement();
+ return this;
}
- public void startControl() {
+ public StreamWriter startControl() {
startElement(Constants.CONTROL,null);
+ return this;
}
- public void startControl(Map<QName,String> attributes) {
+ public StreamWriter startControl(Map<QName,String> attributes) {
startElement(Constants.CONTROL, attributes);
+ return this;
}
- public void endControl() {
+ public StreamWriter endControl() {
endElement();
+ return this;
}
- public void writeDraft(boolean draft) {
+ public StreamWriter writeDraft(boolean draft) {
startElement(Constants.DRAFT);
writeElementText(draft?"yes":"no");
endElement();
+ return this;
}
}
Modified: incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/writer/StreamWriter.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/writer/StreamWriter.java?rev=592532&r1=592531&r2=592532&view=diff
==============================================================================
--- incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/writer/StreamWriter.java (original)
+++ incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/writer/StreamWriter.java Tue Nov 6 11:45:54 2007
@@ -33,7 +33,9 @@
/**
* The StreamWriter interface provides a for producing Atom documents
* based on a streaming api. This approach provides a lightweight
- * alternative to building up an object model
+ * alternative to building up an object model.
+ *
+ * The StreamWriter is NOT synchronized and is NOT threadsafe
*/
public interface StreamWriter
extends NamedItem {
@@ -41,238 +43,238 @@
/**
* Set the target java.io.Writer
*/
- void setWriter(java.io.Writer writer);
+ StreamWriter setWriter(java.io.Writer writer);
/**
* Set the target java.io.OutputStream
*/
- void setOutputStream(java.io.OutputStream out);
+ StreamWriter setOutputStream(java.io.OutputStream out);
/**
* Set the target java.io.OutputStream
*/
- void setOutputStream(java.io.OutputStream out, String charset);
+ StreamWriter setOutputStream(java.io.OutputStream out, String charset);
/**
* Start the document
* @param xmlversion The XML version
* @param charset the Character Encoding
*/
- void startDocument(String xmlversion, String charset);
+ StreamWriter startDocument(String xmlversion, String charset);
/**
* Start the document
* @param xmlversion The XML version
*/
- void startDocument(String xmlversion);
+ StreamWriter startDocument(String xmlversion);
/**
* Start the document
*/
- void startDocument();
+ StreamWriter startDocument();
/**
* End the document
*/
- void endDocument();
+ StreamWriter endDocument();
/**
* Start an atom:feed element
*/
- void startFeed();
+ StreamWriter startFeed();
/**
* Start an atom:feed element
* @param attribute Extension attributes
*/
- void startFeed(Map<QName,String> attributes);
+ StreamWriter startFeed(Map<QName,String> attributes);
/**
* End the atom:feed element
*/
- void endFeed();
+ StreamWriter endFeed();
/**
* Start an atom:entry element
*/
- void startEntry();
+ StreamWriter startEntry();
/**
* Start an atom:entry element
* @param attribute Extension attributes
*/
- void startEntry(Map<QName,String> attributes);
+ StreamWriter startEntry(Map<QName,String> attributes);
/**
* End the atom:entry element
*/
- void endEntry();
+ StreamWriter endEntry();
/**
* Write an atom:id element
* @param iri The value
* @param attribute Extension attributes
*/
- void writeId(String iri, Map<QName,String> attributes);
+ StreamWriter writeId(String iri, Map<QName,String> attributes);
/**
* Write an atom:icon element
* @param iri The value
* @param attribute Extension attributes
*/
- void writeIcon(String iri, Map<QName,String> attributes);
+ StreamWriter writeIcon(String iri, Map<QName,String> attributes);
/**
* Write an atom:logo element
* @param iri The value
* @param attribute Extension attributes
*/
- void writeLogo(String iri, Map<QName,String> attributes);
+ StreamWriter writeLogo(String iri, Map<QName,String> attributes);
/**
* Write an IRI element element
* @param iri The value
* @param attribute Extension attributes
*/
- void writeIRIElement(QName qname, String iri, Map<QName,String> attributes);
+ StreamWriter writeIRIElement(QName qname, String iri, Map<QName,String> attributes);
/**
* Write an atom:id element
* @param iri The value
* @param attribute Extension attributes
*/
- void writeId(IRI iri, Map<QName,String> attributes);
+ StreamWriter writeId(IRI iri, Map<QName,String> attributes);
/**
* Write an atom:icon element
* @param iri The value
* @param attribute Extension attributes
*/
- void writeIcon(IRI iri, Map<QName,String> attributes);
+ StreamWriter writeIcon(IRI iri, Map<QName,String> attributes);
/**
* Write an atom:logo element
* @param iri The value
* @param attribute Extension attributes
*/
- void writeLogo(IRI iri, Map<QName,String> attributes);
+ StreamWriter writeLogo(IRI iri, Map<QName,String> attributes);
/**
* Write an atom:iri element
* @param iri The value
* @param attribute Extension attributes
*/
- void writeIRIElement(QName qname, IRI iri, Map<QName,String> attributes);
+ StreamWriter writeIRIElement(QName qname, IRI iri, Map<QName,String> attributes);
/**
* Write an atom:id element
* @param iri The value
*/
- void writeId(String iri);
+ StreamWriter writeId(String iri);
/**
* Write an atom:icon element
* @param iri The value
*/
- void writeIcon(String iri);
+ StreamWriter writeIcon(String iri);
/**
* Write an atom:logo element
* @param iri The value
*/
- void writeLogo(String iri);
+ StreamWriter writeLogo(String iri);
/**
* Write an IRI element
* @param iri The value
*/
- void writeIRIElement(QName qname, String iri);
+ StreamWriter writeIRIElement(QName qname, String iri);
/**
* Write an atom:id element
* @param iri The value
*/
- void writeId(IRI iri);
+ StreamWriter writeId(IRI iri);
/**
* Write an atom:icon element
* @param iri The value
*/
- void writeIcon(IRI iri);
+ StreamWriter writeIcon(IRI iri);
/**
* Write an atom:logo element
* @param iri The value
*/
- void writeLogo(IRI iri);
+ StreamWriter writeLogo(IRI iri);
/**
* Write an IRI element
* @param iri The value
*/
- void writeIRIElement(QName qname, IRI iri);
+ StreamWriter writeIRIElement(QName qname, IRI iri);
/**
* Write an atom:id element with a new IRI value
* @param iri The value
*/
- void writeId();
+ StreamWriter writeId();
/**
* Write an atom:id element with a new IRI value
* @param iri The value
* @param attribute Extension attributes
*/
- void writeId(Map<QName,String> attributes);
+ StreamWriter writeId(Map<QName,String> attributes);
/**
* Write an atom:updated element
* @param date The date value
* @param attributes Extension attributes
*/
- void writeUpdated(Date date, Map<QName,String> attributes);
+ StreamWriter writeUpdated(Date date, Map<QName,String> attributes);
/**
* Write an atom:published element
* @param date The date value
* @param attributes Extension attributes
*/
- void writePublished(Date date, Map<QName,String> attributes);
+ StreamWriter writePublished(Date date, Map<QName,String> attributes);
/**
* Write an atom:edited element
* @param date The date value
* @param attributes Extension attributes
*/
- void writeEdited(Date date, Map<QName,String> attributes);
+ StreamWriter writeEdited(Date date, Map<QName,String> attributes);
/**
* Write a Date element
* @param date The date value
* @param attributes Extension attributes
*/
- void writeDate(QName qname, Date date, Map<QName,String> attributes);
+ StreamWriter writeDate(QName qname, Date date, Map<QName,String> attributes);
/**
* Write an atom:updated element
* @param date The date value
* @param attributes Extension attributes
*/
- void writeUpdated(String date, Map<QName,String> attributes);
+ StreamWriter writeUpdated(String date, Map<QName,String> attributes);
/**
* Write an atom:published element
* @param date The date value
* @param attributes Extension attributes
*/
- void writePublished(String date, Map<QName,String> attributes);
+ StreamWriter writePublished(String date, Map<QName,String> attributes);
/**
* Write an atom:edited element
* @param date The date value
* @param attributes Extension attributes
*/
- void writeEdited(String date, Map<QName,String> attributes);
+ StreamWriter writeEdited(String date, Map<QName,String> attributes);
/**
* Write a Date element
@@ -280,57 +282,57 @@
* @param date The date value
* @param attributes Extension attributes
*/
- void writeDate(QName qname, String date, Map<QName,String> attributes);
+ StreamWriter writeDate(QName qname, String date, Map<QName,String> attributes);
/**
* Write an atom:updated element
* @param date The date value
*/
- void writeUpdated(Date date);
+ StreamWriter writeUpdated(Date date);
/**
* Write an atom:published element
* @param date The date value
*/
- void writePublished(Date date);
+ StreamWriter writePublished(Date date);
/**
* Write an atom:edited element
* @param date The date value
*/
- void writeEdited(Date date);
+ StreamWriter writeEdited(Date date);
/**
* Write a Date element
* @param qname The element qname
* @param date The date value
*/
- void writeDate(QName qname, Date date);
+ StreamWriter writeDate(QName qname, Date date);
/**
* Write an atom:updated element
* @param date The date value
*/
- void writeUpdated(String date);
+ StreamWriter writeUpdated(String date);
/**
* Write an atom:published element
* @param date The date value
*/
- void writePublished(String date);
+ StreamWriter writePublished(String date);
/**
* Write an atom:edited element
* @param date The date value
*/
- void writeEdited(String date);
+ StreamWriter writeEdited(String date);
/**
* Write a Date element
* @param qname The element qname
* @param date The date value
*/
- void writeDate(QName qname, String date);
+ StreamWriter writeDate(QName qname, String date);
/**
* Write a person element
@@ -340,7 +342,7 @@
* @param uri The person uri
* @param attributes Extension attributes
*/
- void writePerson(QName qname, String name, String email, String uri, Map<QName,String> attributes);
+ StreamWriter writePerson(QName qname, String name, String email, String uri, Map<QName,String> attributes);
/**
* Start a person element
@@ -350,33 +352,33 @@
* @param uri The person uri
* @param attributes Extension attributes
*/
- void startPerson(QName qname, Map<QName,String> attributes);
+ StreamWriter startPerson(QName qname, Map<QName,String> attributes);
/**
* Write a person name element
* @param name The person name
* @param attributes Extension attributes
*/
- void writePersonName(String name,Map<QName,String> attributes);
+ StreamWriter writePersonName(String name,Map<QName,String> attributes);
/**
* Write a person email element
* @param email The person email
* @param attributes Extension attributes
*/
- void writePersonEmail(String email,Map<QName,String> attributes);
+ StreamWriter writePersonEmail(String email,Map<QName,String> attributes);
/**
* Write a person uri element
* @param uri The person uri
* @param attributes Extension attributes
*/
- void writePersonUri(String uri,Map<QName,String> attributes);
+ StreamWriter writePersonUri(String uri,Map<QName,String> attributes);
/**
* End the person element
*/
- void endPerson();
+ StreamWriter endPerson();
/**
@@ -384,7 +386,7 @@
* @param iri The href value
* @param attributes Extension attributes
*/
- void writeLink(String iri,Map<QName,String> attributes);
+ StreamWriter writeLink(String iri,Map<QName,String> attributes);
/**
* Write an atom:link element
@@ -392,7 +394,7 @@
* @param rel The rel value
* @param attributes Extension attributes
*/
- void writeLink(String iri, String rel,Map<QName,String> attributes);
+ StreamWriter writeLink(String iri, String rel,Map<QName,String> attributes);
/**
* Write an atom:link element
@@ -401,7 +403,7 @@
* @param type The type value
* @param attributes Extension attributes
*/
- void writeLink(String iri, String rel, String type,Map<QName,String> attributes);
+ StreamWriter writeLink(String iri, String rel, String type,Map<QName,String> attributes);
/**
* Write an atom:link element
@@ -413,14 +415,14 @@
* @param length The link length
* @param attributes Extension attributes
*/
- void writeLink(String iri, String rel, String type, String title, String hreflang, int length,Map<QName,String> attributes);
+ StreamWriter writeLink(String iri, String rel, String type, String title, String hreflang, int length,Map<QName,String> attributes);
/**
* Start a atom:link element
* @param iri The href value
* @param attributes Extension attributes
*/
- void startLink(String iri,Map<QName,String> attributes);
+ StreamWriter startLink(String iri,Map<QName,String> attributes);
/**
* Start an atom:link element
@@ -428,7 +430,7 @@
* @param rel The rel value
* @param attributes Extension attributes
*/
- void startLink(String iri, String rel,Map<QName,String> attributes);
+ StreamWriter startLink(String iri, String rel,Map<QName,String> attributes);
/**
* Start an atom:link element
@@ -437,7 +439,7 @@
* @param type The type value
* @param attributes Extension attributes
*/
- void startLink(String iri, String rel, String type,Map<QName,String> attributes);
+ StreamWriter startLink(String iri, String rel, String type,Map<QName,String> attributes);
/**
* Start an atom:link element
@@ -449,25 +451,25 @@
* @param length The link length
* @param attributes Extension attributes
*/
- void startLink(String iri, String rel, String type, String title, String hreflang, int length,Map<QName,String> attributes);
+ StreamWriter startLink(String iri, String rel, String type, String title, String hreflang, int length,Map<QName,String> attributes);
/**
* End the atom:link
*/
- void endLink();
+ StreamWriter endLink();
/**
* Write an atom:link element
* @param iri The href value
*/
- void writeLink(String iri);
+ StreamWriter writeLink(String iri);
/**
* Write an atom:link element
* @param iri The href value
* @param rel The rel value
*/
- void writeLink(String iri, String rel);
+ StreamWriter writeLink(String iri, String rel);
/**
* Write an atom:link element
@@ -475,7 +477,7 @@
* @param rel The rel value
* @param type The type value
*/
- void writeLink(String iri, String rel, String type);
+ StreamWriter writeLink(String iri, String rel, String type);
/**
* Write an atom:link element
@@ -486,20 +488,20 @@
* @param hreflang The hreflang value
* @param length The link length
*/
- void writeLink(String iri, String rel, String type, String title, String hreflang, int length);
+ StreamWriter writeLink(String iri, String rel, String type, String title, String hreflang, int length);
/**
* Start an atom:link element
* @param iri The href value
*/
- void startLink(String iri);
+ StreamWriter startLink(String iri);
/**
* Start an atom:link element
* @param iri The href value
* @param rel The rel value
*/
- void startLink(String iri, String rel);
+ StreamWriter startLink(String iri, String rel);
/**
* Start an atom:link element
@@ -507,7 +509,7 @@
* @param rel The rel value
* @param type The type value
*/
- void startLink(String iri, String rel, String type);
+ StreamWriter startLink(String iri, String rel, String type);
/**
* Start an atom:link element
@@ -518,14 +520,14 @@
* @param hreflang The hreflang value
* @param length The link length
*/
- void startLink(String iri, String rel, String type, String title, String hreflang, int length);
+ StreamWriter startLink(String iri, String rel, String type, String title, String hreflang, int length);
/**
* Write an atom:category element
* @param term The term value
* @param attributes Extension attributes
*/
- void writeCategory(String term,Map<QName,String> attributes);
+ StreamWriter writeCategory(String term,Map<QName,String> attributes);
/**
* Write an atom:category element
@@ -533,7 +535,7 @@
* @param scheme The term value
* @param attributes Extension attributes
*/
- void writeCategory(String term, String scheme,Map<QName,String> attributes);
+ StreamWriter writeCategory(String term, String scheme,Map<QName,String> attributes);
/**
* Write an atom:category element
@@ -542,14 +544,14 @@
* @param label The term value
* @param attributes Extension attributes
*/
- void writeCategory(String term, String scheme, String label,Map<QName,String> attributes);
+ StreamWriter writeCategory(String term, String scheme, String label,Map<QName,String> attributes);
/**
* Start an atom:category element
* @param term The term value
* @param attributes Extension attributes
*/
- void startCategory(String term,Map<QName,String> attributes);
+ StreamWriter startCategory(String term,Map<QName,String> attributes);
/**
* Start an atom:category element
@@ -557,7 +559,7 @@
* @param scheme The term value
* @param attributes Extension attributes
*/
- void startCategory(String term, String scheme,Map<QName,String> attributes);
+ StreamWriter startCategory(String term, String scheme,Map<QName,String> attributes);
/**
* Start an atom:category element
@@ -566,25 +568,25 @@
* @param label The term value
* @param attributes Extension attributes
*/
- void startCategory(String term, String scheme, String label,Map<QName,String> attributes);
+ StreamWriter startCategory(String term, String scheme, String label,Map<QName,String> attributes);
/**
* End the atom:category
*/
- void endCategory();
+ StreamWriter endCategory();
/**
* Write an atom:category element
* @param term The term value
*/
- void writeCategory(String term);
+ StreamWriter writeCategory(String term);
/**
* Write an atom:category element
* @param term The term value
* @param scheme The term value
*/
- void writeCategory(String term, String scheme);
+ StreamWriter writeCategory(String term, String scheme);
/**
* Write an atom:category element
@@ -592,20 +594,20 @@
* @param scheme The term value
* @param label The term value
*/
- void writeCategory(String term, String scheme, String label);
+ StreamWriter writeCategory(String term, String scheme, String label);
/**
* Start an atom:category element
* @param term The term value
*/
- void startCategory(String term);
+ StreamWriter startCategory(String term);
/**
* Start an atom:category element
* @param term The term value
* @param scheme The term value
*/
- void startCategory(String term, String scheme);
+ StreamWriter startCategory(String term, String scheme);
/**
* Start an atom:category element
@@ -613,24 +615,24 @@
* @param scheme The term value
* @param label The term value
*/
- void startCategory(String term, String scheme, String label);
+ StreamWriter startCategory(String term, String scheme, String label);
/**
* Start an atom:source element
* @param attributes Extension attributes
*/
- void startSource(Map<QName,String> attributes);
+ StreamWriter startSource(Map<QName,String> attributes);
/**
* Start an atom:source element
*/
- void startSource();
+ StreamWriter startSource();
/**
* End the atom:source
*/
- void endSource();
+ StreamWriter endSource();
/**
* Write a Text element
@@ -639,7 +641,7 @@
* @param value The text value
* @param attribute Extension attributes
*/
- void writeText(QName qname, Text.Type type, String value,Map<QName,String> attributes);
+ StreamWriter writeText(QName qname, Text.Type type, String value,Map<QName,String> attributes);
/**
* Start a Text element
@@ -647,7 +649,7 @@
* @param type The text type
* @param attribute Extension attributes
*/
- void startText(QName qname, Text.Type type,Map<QName,String> attributes);
+ StreamWriter startText(QName qname, Text.Type type,Map<QName,String> attributes);
/**
* Write a Text element
@@ -655,14 +657,14 @@
* @param type The text type
* @param value The text value
*/
- void writeText(QName qname, Text.Type type, String value);
+ StreamWriter writeText(QName qname, Text.Type type, String value);
/**
* Start a Text element
* @param qname The element qname
* @param type The text type
*/
- void startText(QName qname, Text.Type type);
+ StreamWriter startText(QName qname, Text.Type type);
/**
* Write an atom:content element
@@ -670,7 +672,7 @@
* @param value The text value
* @param attribute Extension attributes
*/
- void writeContent(Content.Type type, String value,Map<QName,String> attributes);
+ StreamWriter writeContent(Content.Type type, String value,Map<QName,String> attributes);
/**
* Write an atom:content element
@@ -678,7 +680,7 @@
* @param value The text value
* @param attribute Extension attributes
*/
- void writeContent(Content.Type type, InputStream value,Map<QName,String> attributes) throws IOException;
+ StreamWriter writeContent(Content.Type type, InputStream value,Map<QName,String> attributes) throws IOException;
/**
* Write an atom:content element
@@ -686,7 +688,7 @@
* @param value The text value
* @param attribute Extension attributes
*/
- void writeContent(Content.Type type, DataHandler value,Map<QName,String> attributes) throws IOException;
+ StreamWriter writeContent(Content.Type type, DataHandler value,Map<QName,String> attributes) throws IOException;
/**
* Write an atom:content element
@@ -694,7 +696,7 @@
* @param value The text value
* @param attribute Extension attributes
*/
- void writeContent(String type, String value,Map<QName,String> attributes);
+ StreamWriter writeContent(String type, String value,Map<QName,String> attributes);
/**
* Start an atom:content element
@@ -702,14 +704,14 @@
* @param value The text value
* @param attribute Extension attributes
*/
- void startContent(Content.Type type,Map<QName,String> attributes);
+ StreamWriter startContent(Content.Type type,Map<QName,String> attributes);
/**
* Start an atom:content element
* @param type The text type
* @param attribute Extension attributes
*/
- void startContent(String type,Map<QName,String> attributes);
+ StreamWriter startContent(String type,Map<QName,String> attributes);
/**
* Start an atom:content element
@@ -717,7 +719,7 @@
* @param src The src value
* @param attribute Extension attributes
*/
- void startContent(Content.Type type, String src,Map<QName,String> attributes);
+ StreamWriter startContent(Content.Type type, String src,Map<QName,String> attributes);
/**
* Start an atom:content element
@@ -725,161 +727,161 @@
* @param src The text value
* @param attribute Extension attributes
*/
- void startContent(String type, String src,Map<QName,String> attributes);
+ StreamWriter startContent(String type, String src,Map<QName,String> attributes);
/**
* End the atom:content element
*/
- void endContent();
+ StreamWriter endContent();
/**
* Write an atom:content element
* @param type The text type
* @param value The text value
*/
- void writeContent(Content.Type type, String value);
+ StreamWriter writeContent(Content.Type type, String value);
/**
* Write an atom:content element
* @param type The text type
* @param value The text value
*/
- void writeContent(Content.Type type, InputStream value) throws IOException;
+ StreamWriter writeContent(Content.Type type, InputStream value) throws IOException;
/**
* Write an atom:content element
* @param type The text type
* @param value The text value
*/
- void writeContent(Content.Type type, DataHandler value) throws IOException;
+ StreamWriter writeContent(Content.Type type, DataHandler value) throws IOException;
/**
* Write an atom:content element
* @param type The text type
* @param value The text value
*/
- void writeContent(String type, String value);
+ StreamWriter writeContent(String type, String value);
/**
* Start an atom:content element
* @param type The text type
*/
- void startContent(Content.Type type);
+ StreamWriter startContent(Content.Type type);
/**
* Start an atom:content element
* @param type The text type
*/
- void startContent(String type);
+ StreamWriter startContent(String type);
/**
* Start an atom:content element
* @param type The text type
* @param src The src value
*/
- void startContent(Content.Type type, String src);
+ StreamWriter startContent(Content.Type type, String src);
/**
* Start an atom:content element
* @param type The text type
* @param src The src value
*/
- void startContent(String type, String src);
+ StreamWriter startContent(String type, String src);
/**
* Start an element
* @param qname Element qname
* @param attributes Extension attributes
*/
- void startElement(QName qname,Map<QName,String> attributes);
+ StreamWriter startElement(QName qname,Map<QName,String> attributes);
/**
* Start an element
* @param qname Element qname
*/
- void startElement(QName qname);
+ StreamWriter startElement(QName qname);
/**
* Write element text
* @param value The text value
*/
- void writeElementText(String value);
+ StreamWriter writeElementText(String value);
/**
* Write element text
* @param datahandler The text value
*/
- void writeElementText(DataHandler datahandler) throws IOException;
+ StreamWriter writeElementText(DataHandler datahandler) throws IOException;
/**
* Write element text
* @param in The text value
*/
- void writeElementText(InputStream in) throws IOException;
+ StreamWriter writeElementText(InputStream in) throws IOException;
/**
* End the element
*/
- void endElement();
+ StreamWriter endElement();
/**
* Write an atom:title element
* @param value The text value
*/
- void writeTitle(String value);
+ StreamWriter writeTitle(String value);
/**
* Write an atom:title element
* @param type The text type
* @param value The text value
*/
- void writeTitle(Text.Type type, String value);
+ StreamWriter writeTitle(Text.Type type, String value);
/**
* Write an atom:subtitle element
* @param value The text value
*/
- void writeSubtitle(String value);
+ StreamWriter writeSubtitle(String value);
/**
* Write an atom:subtitle element
* @param type The text type
* @param value The text value
*/
- void writeSubtitle(Text.Type type, String value);
+ StreamWriter writeSubtitle(Text.Type type, String value);
/**
* Write an atom:summary element
* @param value The text value
*/
- void writeSummary(String value);
+ StreamWriter writeSummary(String value);
/**
* Write an atom:summary element
* @param type The text type
* @param value The text value
*/
- void writeSummary(Text.Type type, String value);
+ StreamWriter writeSummary(Text.Type type, String value);
/**
* Write an atom:rights element
* @param value The text value
*/
- void writeRights(String value);
+ StreamWriter writeRights(String value);
/**
* Write an atom:rights element
* @param type The text type
* @param value The text value
*/
- void writeRights(Text.Type type, String value);
+ StreamWriter writeRights(Text.Type type, String value);
/**
* Write an atom:title element
* @param value The text value
* @param attributes Extension attributes
*/
- void writeTitle(String value,Map<QName,String> attributes);
+ StreamWriter writeTitle(String value,Map<QName,String> attributes);
/**
* Write an atom:title element
@@ -887,14 +889,14 @@
* @param value The text value
* @param attributes Extension attributes
*/
- void writeTitle(Text.Type type, String value,Map<QName,String> attributes);
+ StreamWriter writeTitle(Text.Type type, String value,Map<QName,String> attributes);
/**
* Write an atom:subtitle element
* @param value The text value
* @param attributes Extension attributes
*/
- void writeSubtitle(String value,Map<QName,String> attributes);
+ StreamWriter writeSubtitle(String value,Map<QName,String> attributes);
/**
* Write an atom:subtitle element
@@ -902,14 +904,14 @@
* @param value The text value
* @param attributes Extension attributes
*/
- void writeSubtitle(Text.Type type, String value,Map<QName,String> attributes);
+ StreamWriter writeSubtitle(Text.Type type, String value,Map<QName,String> attributes);
/**
* Write an atom:summary element
* @param value The text value
* @param attributes Extension attributes
*/
- void writeSummary(String value,Map<QName,String> attributes);
+ StreamWriter writeSummary(String value,Map<QName,String> attributes);
/**
* Write an atom:summary element
@@ -917,14 +919,14 @@
* @param value The text value
* @param attributes Extension attributes
*/
- void writeSummary(Text.Type type, String value,Map<QName,String> attributes);
+ StreamWriter writeSummary(Text.Type type, String value,Map<QName,String> attributes);
/**
* Write an atom:rights element
* @param value The text value
* @param attributes Extension attributes
*/
- void writeRights(String value,Map<QName,String> attributes);
+ StreamWriter writeRights(String value,Map<QName,String> attributes);
/**
* Write an atom:rights element
@@ -932,7 +934,7 @@
* @param value The text value
* @param attributes Extension attributes
*/
- void writeRights(Text.Type type, String value,Map<QName,String> attributes);
+ StreamWriter writeRights(Text.Type type, String value,Map<QName,String> attributes);
/**
@@ -942,31 +944,31 @@
* @param email The person email
* @param uri The person uri
*/
- void writePerson(QName qname, String name, String email, String uri);
+ StreamWriter writePerson(QName qname, String name, String email, String uri);
/**
* Start a person element
* @param qname The element qname
*/
- void startPerson(QName qname);
+ StreamWriter startPerson(QName qname);
/**
* Write a person name
* @param name The person name
*/
- void writePersonName(String name);
+ StreamWriter writePersonName(String name);
/**
* Write a person email
* @param email The person email
*/
- void writePersonEmail(String email);
+ StreamWriter writePersonEmail(String email);
/**
* Write a person uri
* @param uri The person uri
*/
- void writePersonUri(String uri);
+ StreamWriter writePersonUri(String uri);
/**
* Write an atom:author element
@@ -974,7 +976,7 @@
* @param email The person email
* @param uri The person uri
*/
- void writeAuthor(String name, String email, String uri);
+ StreamWriter writeAuthor(String name, String email, String uri);
/**
* Write an atom:author element
@@ -983,23 +985,23 @@
* @param uri The person uri
* @param attribute ExtensionAttributes
*/
- void writeAuthor(String name, String email, String uri, Map<QName,String> attributes);
+ StreamWriter writeAuthor(String name, String email, String uri, Map<QName,String> attributes);
/**
* Start an atom:author element
*/
- void startAuthor();
+ StreamWriter startAuthor();
/**
* Start an atom:author element
* @params attributes ExtensionAttributes
*/
- void startAuthor(Map<QName,String> attributes);
+ StreamWriter startAuthor(Map<QName,String> attributes);
/**
* End the atom:author element
*/
- void endAuthor();
+ StreamWriter endAuthor();
/**
* Write an atom:contributor element
@@ -1007,7 +1009,7 @@
* @param email The person email
* @param uri The person uri
*/
- void writeContributor(String name, String email, String uri);
+ StreamWriter writeContributor(String name, String email, String uri);
/**
* Write an atom:contributor element
@@ -1016,23 +1018,23 @@
* @param uri The person uri
* @param attributes Extension attributes
*/
- void writeContributor(String name, String email, String uri, Map<QName,String> attributes);
+ StreamWriter writeContributor(String name, String email, String uri, Map<QName,String> attributes);
/**
* Start an atom:contributor element
*/
- void startContributor();
+ StreamWriter startContributor();
/**
* Start an atom:contributor element
* @param attributes Extension attributes
*/
- void startContributor(Map<QName,String> attributes);
+ StreamWriter startContributor(Map<QName,String> attributes);
/**
* End an atom:contributor element
*/
- void endContributor();
+ StreamWriter endContributor();
/**
* Write an atom:generator element
@@ -1040,7 +1042,7 @@
* @param uri The uri value
* @param value The text value
*/
- void writeGenerator(String version, String uri, String value);
+ StreamWriter writeGenerator(String version, String uri, String value);
/**
* Write an atom:generator element
@@ -1049,14 +1051,14 @@
* @param value The text value
* @param attributes Extension attributes
*/
- void writeGenerator(String version, String uri, String value, Map<QName,String> attributes);
+ StreamWriter writeGenerator(String version, String uri, String value, Map<QName,String> attributes);
/**
* Start an atom:generator element
* @param version The version value
* @param uri The uri value
*/
- void startGenerator(String version, String uri);
+ StreamWriter startGenerator(String version, String uri);
/**
* Start an atom:generator element
@@ -1064,115 +1066,115 @@
* @param uri The uri value
* @param attributes Extension attributes
*/
- void startGenerator(String version, String uri, Map<QName,String> attributes);
+ StreamWriter startGenerator(String version, String uri, Map<QName,String> attributes);
/**
* End the atom:generator element
*/
- void endGenerator();
+ StreamWriter endGenerator();
/**
* Write an XML comment
*/
- void writeComment(String value);
+ StreamWriter writeComment(String value);
/**
* Write an XML Processing Instruction
*/
- void writePI(String value);
+ StreamWriter writePI(String value);
/**
* Write an XML Processing Instruction
*/
- void writePI(String value, String target);
+ StreamWriter writePI(String value, String target);
/**
* Start an app:service element
*/
- void startService();
+ StreamWriter startService();
/**
* Start an app:service element
* @param attributes Extension attributes
*/
- void startService(Map<QName,String> attributes);
+ StreamWriter startService(Map<QName,String> attributes);
/**
* End an app:service element
*/
- void endService();
+ StreamWriter endService();
/**
* Start an app:workspace element
*/
- void startWorkspace();
+ StreamWriter startWorkspace();
/**
* Start an app:workspace element
* @param attributes Extension attributes
*/
- void startWorkspace(Map<QName,String> attributes);
+ StreamWriter startWorkspace(Map<QName,String> attributes);
/**
* End an app:workspace element
*/
- void endWorkspace();
+ StreamWriter endWorkspace();
/**
* Start an app:collection element
* @param href The href value
*/
- void startCollection(String href);
+ StreamWriter startCollection(String href);
/**
* Start an app:collection element
* @param href The href value
* @param attributes Extension attributes
*/
- void startCollection(String href, Map<QName,String> attributes);
+ StreamWriter startCollection(String href, Map<QName,String> attributes);
/**
* End an app:collection element
*/
- void endCollection();
+ StreamWriter endCollection();
/**
* Writes app:accept elements
* @param accepts accept element values
*/
- void writeAccepts(String... accepts);
+ StreamWriter writeAccepts(String... accepts);
/**
* Start an app:categories element
*/
- void startCategories();
+ StreamWriter startCategories();
/**
* Start an app:categories element
* @param fixed True if the app:categories element is fixed
*/
- void startCategories(boolean fixed);
+ StreamWriter startCategories(boolean fixed);
/**
* Start an app:categories element
* @param fixed True if the app:categories element is fixed
* @param scheme The scheme value
*/
- void startCategories(boolean fixed, String scheme);
+ StreamWriter startCategories(boolean fixed, String scheme);
/**
* Start an app:categories element
* @param attributes Extension attributes
*/
- void startCategories(Map<QName,String> attributes);
+ StreamWriter startCategories(Map<QName,String> attributes);
/**
* Start an app:categories element
* @param fixed True if the app:categories element is fixed
* @param attributes Extension attributes
*/
- void startCategories(boolean fixed, Map<QName,String> attributes);
+ StreamWriter startCategories(boolean fixed, Map<QName,String> attributes);
/**
* Start an app:categories element
@@ -1180,34 +1182,34 @@
* @param scheme The scheme value
* @param attributes Extension attributes
*/
- void startCategories(boolean fixed, String scheme, Map<QName,String> attributes);
+ StreamWriter startCategories(boolean fixed, String scheme, Map<QName,String> attributes);
/**
* End the app:categories element
*/
- void endCategories();
+ StreamWriter endCategories();
/**
* Start the app:control element
*/
- void startControl();
+ StreamWriter startControl();
/**
* Start the app:control element
* @param attributes Extension attributes
*/
- void startControl(Map<QName,String> attributes);
+ StreamWriter startControl(Map<QName,String> attributes);
/**
* End the app:control element
*/
- void endControl();
+ StreamWriter endControl();
/**
* Write an app:draft element
* @param draft true if app:draft=yes
*/
- void writeDraft(boolean draft);
+ StreamWriter writeDraft(boolean draft);
}
Modified: incubator/abdera/java/trunk/parser/src/main/java/org/apache/abdera/parser/stax/StaxStreamWriter.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/parser/src/main/java/org/apache/abdera/parser/stax/StaxStreamWriter.java?rev=592532&r1=592531&r2=592532&view=diff
==============================================================================
--- incubator/abdera/java/trunk/parser/src/main/java/org/apache/abdera/parser/stax/StaxStreamWriter.java (original)
+++ incubator/abdera/java/trunk/parser/src/main/java/org/apache/abdera/parser/stax/StaxStreamWriter.java Tue Nov 6 11:45:54 2007
@@ -29,6 +29,7 @@
import org.apache.abdera.parser.stax.util.FOMHelper;
import org.apache.abdera.util.AbstractStreamWriter;
+import org.apache.abdera.writer.StreamWriter;
import org.apache.axiom.om.util.StAXUtils;
public class StaxStreamWriter
@@ -61,59 +62,66 @@
setOutputStream(out,charset);
}
- public void setWriter(java.io.Writer writer) {
+ public StreamWriter setWriter(java.io.Writer writer) {
try {
this.writer = StAXUtils.createXMLStreamWriter(writer);
} catch (Exception e) {
throw new RuntimeException(e);
}
+ return this;
}
- public void setOutputStream(java.io.OutputStream out) {
+ public StreamWriter setOutputStream(java.io.OutputStream out) {
try {
this.writer = StAXUtils.createXMLStreamWriter(out,"UTF-8");
} catch (Exception e) {
throw new RuntimeException(e);
}
+ return this;
}
- public void setOutputStream(java.io.OutputStream out, String charset) {
+ public StreamWriter setOutputStream(java.io.OutputStream out, String charset) {
try {
this.writer = StAXUtils.createXMLStreamWriter(out,charset);
} catch (Exception e) {
throw new RuntimeException(e);
}
+ return this;
}
- public void startDocument(String xmlversion, String charset) {
+ public StreamWriter startDocument(String xmlversion, String charset) {
try {
writer.writeStartDocument(xmlversion,charset);
} catch(XMLStreamException e) {
throw new RuntimeException(e);
}
+ return this;
}
- public void startDocument(String xmlversion) {
+ public StreamWriter startDocument(String xmlversion) {
try {
writer.writeStartDocument(xmlversion);
} catch(XMLStreamException e) {
throw new RuntimeException(e);
}
+ return this;
}
- public void endDocument() {
+ public StreamWriter endDocument() {
try {
writer.writeEndDocument();
} catch(XMLStreamException e) {
throw new RuntimeException(e);
}
+ return this;
}
- public void endElement() {
+ public StreamWriter endElement() {
try {
pop();
writer.writeEndElement();
} catch(XMLStreamException e) {
throw new RuntimeException(e);
}
+ return this;
}
private void writeNamespace(QName qname, boolean attr) throws XMLStreamException {
@@ -130,7 +138,7 @@
}
}
- public void startElement(QName qname, Map<QName, String> attributes) {
+ public StreamWriter startElement(QName qname, Map<QName, String> attributes) {
try {
push();
writer.writeStartElement(qname.getPrefix(),qname.getLocalPart(),qname.getNamespaceURI());
@@ -149,38 +157,43 @@
} catch(XMLStreamException e) {
throw new RuntimeException(e);
}
+ return this;
}
- public void writeElementText(String value) {
+ public StreamWriter writeElementText(String value) {
try {
writer.writeCharacters(value);
} catch(XMLStreamException e) {
throw new RuntimeException(e);
}
+ return this;
}
- public void writeComment(String value) {
+ public StreamWriter writeComment(String value) {
try {
writer.writeComment(value);
} catch(XMLStreamException e) {
throw new RuntimeException(e);
}
+ return this;
}
- public void writePI(String value) {
+ public StreamWriter writePI(String value) {
try {
writer.writeProcessingInstruction(value);
} catch(XMLStreamException e) {
throw new RuntimeException(e);
}
+ return this;
}
- public void writePI(String value, String target) {
+ public StreamWriter writePI(String value, String target) {
try {
writer.writeProcessingInstruction(value,target);
} catch(XMLStreamException e) {
throw new RuntimeException(e);
}
+ return this;
}
private final Stack<Map<String,String>> namespaces = new Stack<Map<String,String>>();
@@ -211,8 +224,9 @@
frame.put(prefix, namespace);
}
- public void writeId(Map<QName,String> attributes) {
+ public StreamWriter writeId(Map<QName,String> attributes) {
writeId(FOMHelper.generateUuid(),attributes);
+ return this;
}
}