XMLStreamWriter is used to write XML streams in XMLStorage. More...
Classes | |
class | StackEntry |
StackEntry is used to hold state information when moving between nodes. More... | |
Public Member Functions | |
XMLStreamWriter (Writer out) throws IOException | |
XMLStreamWriter (final String path) throws IOException | |
XMLStreamWriter (Writer out, int pretty, final XMLHeader header) throws IOException | |
XMLStreamWriter (final String path, int pretty, final XMLHeader header) throws IOException | |
void | close () throws IOException |
void | create (final String name) throws IOException |
create node and move to it | |
boolean | back () throws IOException |
go back to previous position | |
void | put (String attrName, Object value) |
attribute setting | |
void | put (String attrName, String value) |
attribute setting | |
void | setContent (final String s) |
void | setContent (final String s, boolean cdata) |
Static Public Attributes | |
static final int | PRETTY_PLAIN = 0 |
static final int | PRETTY_LINEFEED = 1 |
static final int | PRETTY_INDENT = 2 |
Protected Member Functions | |
void | closePre (StackEntry entry) throws IOException |
void | writePre (StackEntry entry) throws IOException |
void | writeAttributes (StackEntry entry) throws IOException |
void | writePost (StackEntry entry) throws IOException |
Protected Attributes | |
Writer | _out |
int | _pretty |
Stack< StackEntry > | _stack = new Stack<StackEntry>() |
Static Protected Attributes | |
static final int | NOTHING = 0 |
static final int | ATTRIBUTES = 2 |
static final int | PRE_CLOSED = 3 |
static final int | POST = 5 |
XMLStreamWriter is used to write XML streams in XMLStorage.
Definition at line 56 of file XMLStreamWriter.java.
de.mfuchs.xmlstorage.stream.XMLStreamWriter.XMLStreamWriter | ( | Writer | out ) | throws IOException |
Definition at line 64 of file XMLStreamWriter.java.
References de.mfuchs.xmlstorage.stream.XMLStreamWriter.PRETTY_INDENT.
{ this(out, PRETTY_INDENT, new XMLHeader()); }
de.mfuchs.xmlstorage.stream.XMLStreamWriter.XMLStreamWriter | ( | final String | path ) | throws IOException |
Definition at line 69 of file XMLStreamWriter.java.
References de.mfuchs.xmlstorage.stream.XMLStreamWriter.PRETTY_INDENT.
{ this(path, PRETTY_INDENT, new XMLHeader()); }
de.mfuchs.xmlstorage.stream.XMLStreamWriter.XMLStreamWriter | ( | Writer | out, |
int | pretty, | ||
final XMLHeader | header | ||
) | throws IOException |
Definition at line 74 of file XMLStreamWriter.java.
References de.mfuchs.xmlstorage.stream.XMLStreamWriter._out, and de.mfuchs.xmlstorage.stream.XMLStreamWriter._pretty.
de.mfuchs.xmlstorage.stream.XMLStreamWriter.XMLStreamWriter | ( | final String | path, |
int | pretty, | ||
final XMLHeader | header | ||
) | throws IOException |
Definition at line 82 of file XMLStreamWriter.java.
References de.mfuchs.xmlstorage.stream.XMLStreamWriter._out, and de.mfuchs.xmlstorage.stream.XMLStreamWriter._pretty.
boolean de.mfuchs.xmlstorage.stream.XMLStreamWriter.back | ( | ) | throws IOException |
go back to previous position
Definition at line 117 of file XMLStreamWriter.java.
References de.mfuchs.xmlstorage.stream.XMLStreamWriter._stack, and de.mfuchs.xmlstorage.stream.XMLStreamWriter.writePost().
Referenced by de.mfuchs.XMLTest.testStreamingWriter(), and de.mfuchs.WriterTest.testWriter().
{ if (!_stack.empty()) { writePost((StackEntry)_stack.peek()); _stack.pop(); return true; } else return false; }
void de.mfuchs.xmlstorage.stream.XMLStreamWriter.close | ( | ) | throws IOException |
Definition at line 90 of file XMLStreamWriter.java.
References de.mfuchs.xmlstorage.stream.XMLStreamWriter._out.
Referenced by de.mfuchs.XMLTest.testStreamingWriter(), and de.mfuchs.WriterTest.testWriter().
void de.mfuchs.xmlstorage.stream.XMLStreamWriter.closePre | ( | StackEntry | entry ) | throws IOException [protected] |
Definition at line 199 of file XMLStreamWriter.java.
References de.mfuchs.xmlstorage.stream.XMLStreamWriter._out, and de.mfuchs.xmlstorage.stream.XMLStreamWriter.PRE_CLOSED.
Referenced by de.mfuchs.xmlstorage.stream.XMLStreamWriter.create(), and de.mfuchs.xmlstorage.stream.XMLStreamWriter.writePost().
{ _out.write('>'); entry._state = PRE_CLOSED; }
void de.mfuchs.xmlstorage.stream.XMLStreamWriter.create | ( | final String | name ) | throws IOException |
create node and move to it
Definition at line 97 of file XMLStreamWriter.java.
References de.mfuchs.xmlstorage.stream.XMLStreamWriter.StackEntry._children, de.mfuchs.xmlstorage.stream.XMLStreamWriter._stack, de.mfuchs.xmlstorage.stream.XMLStreamWriter.StackEntry._state, de.mfuchs.xmlstorage.stream.XMLStreamWriter.closePre(), de.mfuchs.xmlstorage.stream.XMLStreamWriter.PRE_CLOSED, de.mfuchs.xmlstorage.stream.XMLStreamWriter.writeAttributes(), and de.mfuchs.xmlstorage.stream.XMLStreamWriter.writePre().
Referenced by de.mfuchs.XMLTest.testStreamingWriter(), and de.mfuchs.WriterTest.testWriter().
{ if (!_stack.empty()) { StackEntry last = (StackEntry) _stack.peek(); if (last._state < PRE_CLOSED) { writeAttributes(last); closePre(last); } last._children = true; } StackEntry entry = new StackEntry(name); _stack.push(entry); writePre(entry); }
void de.mfuchs.xmlstorage.stream.XMLStreamWriter.put | ( | String | attrName, |
Object | value | ||
) |
attribute setting
Definition at line 130 of file XMLStreamWriter.java.
References de.mfuchs.xmlstorage.stream.XMLStreamWriter._stack, and de.mfuchs.xmlstorage.XMLNode.put().
Referenced by de.mfuchs.XMLTest.testStreamingWriter(), and de.mfuchs.WriterTest.testWriter().
{ if (!_stack.empty()) { XMLNode.AttributeMap attributes = ((StackEntry)_stack.peek())._attributes; if (value != null) attributes.put(attrName, value.toString()); else attributes.remove(attrName); } }
void de.mfuchs.xmlstorage.stream.XMLStreamWriter.put | ( | String | attrName, |
String | value | ||
) |
attribute setting
Definition at line 143 of file XMLStreamWriter.java.
References de.mfuchs.xmlstorage.stream.XMLStreamWriter._stack, and de.mfuchs.xmlstorage.XMLNode.put().
{ if (!_stack.empty()) { XMLNode.AttributeMap attributes = ((StackEntry)_stack.peek())._attributes; if (value != null) attributes.put(attrName, value); else attributes.remove(attrName); } }
void de.mfuchs.xmlstorage.stream.XMLStreamWriter.setContent | ( | final String | s, |
boolean | cdata | ||
) |
Definition at line 160 of file XMLStreamWriter.java.
References de.mfuchs.xmlstorage.stream.XMLStreamWriter._stack, and de.mfuchs.xmlstorage.XMLHelper.encodeXMLString().
{ if (!_stack.empty()) ((StackEntry)_stack.peek())._content = s!=null? XMLHelper.encodeXMLString(s, cdata): ""; }
void de.mfuchs.xmlstorage.stream.XMLStreamWriter.setContent | ( | final String | s ) |
Definition at line 155 of file XMLStreamWriter.java.
Referenced by de.mfuchs.XMLTest.testStreamingWriter(), and de.mfuchs.WriterTest.testWriter().
{ setContent(s, false); }
void de.mfuchs.xmlstorage.stream.XMLStreamWriter.writeAttributes | ( | StackEntry | entry ) | throws IOException [protected] |
Definition at line 219 of file XMLStreamWriter.java.
References de.mfuchs.xmlstorage.stream.XMLStreamWriter._out, de.mfuchs.xmlstorage.stream.XMLStreamWriter.ATTRIBUTES, and de.mfuchs.xmlstorage.XMLHelper.encodeXMLString().
Referenced by de.mfuchs.xmlstorage.stream.XMLStreamWriter.create(), and de.mfuchs.xmlstorage.stream.XMLStreamWriter.writePost().
{ for(Map.Entry<String,String> it: entry._attributes.entrySet()) _out.write(" " + XMLHelper.encodeXMLString(it.getKey()) + "=\"" + XMLHelper.encodeXMLString(it.getValue()) + "\""); entry._state = ATTRIBUTES; }
void de.mfuchs.xmlstorage.stream.XMLStreamWriter.writePost | ( | StackEntry | entry ) | throws IOException [protected] |
Definition at line 228 of file XMLStreamWriter.java.
References de.mfuchs.xmlstorage.stream.XMLStreamWriter._out, de.mfuchs.xmlstorage.stream.XMLStreamWriter._pretty, de.mfuchs.xmlstorage.stream.XMLStreamWriter._stack, de.mfuchs.xmlstorage.stream.XMLStreamWriter.ATTRIBUTES, de.mfuchs.xmlstorage.stream.XMLStreamWriter.closePre(), de.mfuchs.xmlstorage.XMLHelper.encodeXMLString(), de.mfuchs.xmlstorage.stream.XMLStreamWriter.POST, de.mfuchs.xmlstorage.stream.XMLStreamWriter.PRE_CLOSED, de.mfuchs.xmlstorage.stream.XMLStreamWriter.PRETTY_INDENT, de.mfuchs.xmlstorage.stream.XMLStreamWriter.PRETTY_LINEFEED, de.mfuchs.xmlstorage.stream.XMLStreamWriter.writeAttributes(), and de.mfuchs.xmlstorage.XMLNode.XML_INDENT_SPACE.
Referenced by de.mfuchs.xmlstorage.stream.XMLStreamWriter.back().
{ if (entry._state < ATTRIBUTES) writeAttributes(entry); if (entry._children || entry._content.length()>0) { if (entry._state < PRE_CLOSED) closePre(entry); _out.write(entry._content); //entry._state = CONTENT; if (_pretty>=PRETTY_LINEFEED && entry._content.length()==0) _out.write('\n'); if (_pretty==PRETTY_INDENT && entry._content.length()==0) for(int i=_stack.size(); --i>0; ) _out.write(XMLNode.XML_INDENT_SPACE); _out.write("</" + XMLHelper.encodeXMLString(entry._nodeName) + ">"); } else { _out.write("/>"); } entry._state = POST; }
void de.mfuchs.xmlstorage.stream.XMLStreamWriter.writePre | ( | StackEntry | entry ) | throws IOException [protected] |
Definition at line 206 of file XMLStreamWriter.java.
References de.mfuchs.xmlstorage.stream.XMLStreamWriter._out, de.mfuchs.xmlstorage.stream.XMLStreamWriter._pretty, de.mfuchs.xmlstorage.stream.XMLStreamWriter._stack, de.mfuchs.xmlstorage.XMLHelper.encodeXMLString(), de.mfuchs.xmlstorage.stream.XMLStreamWriter.PRETTY_INDENT, de.mfuchs.xmlstorage.stream.XMLStreamWriter.PRETTY_LINEFEED, and de.mfuchs.xmlstorage.XMLNode.XML_INDENT_SPACE.
Referenced by de.mfuchs.xmlstorage.stream.XMLStreamWriter.create().
{ if (_pretty >= PRETTY_LINEFEED) _out.write('\n'); if (_pretty == PRETTY_INDENT) for(int i=_stack.size(); --i>0; ) _out.write(XMLNode.XML_INDENT_SPACE); _out.write("<" + XMLHelper.encodeXMLString(entry._nodeName)); //entry._state = PRE; }
Writer de.mfuchs.xmlstorage.stream.XMLStreamWriter._out [protected] |
Definition at line 174 of file XMLStreamWriter.java.
Referenced by de.mfuchs.xmlstorage.stream.XMLStreamWriter.close(), de.mfuchs.xmlstorage.stream.XMLStreamWriter.closePre(), de.mfuchs.xmlstorage.stream.XMLStreamWriter.writeAttributes(), de.mfuchs.xmlstorage.stream.XMLStreamWriter.writePost(), de.mfuchs.xmlstorage.stream.XMLStreamWriter.writePre(), and de.mfuchs.xmlstorage.stream.XMLStreamWriter.XMLStreamWriter().
int de.mfuchs.xmlstorage.stream.XMLStreamWriter._pretty [protected] |
Definition at line 175 of file XMLStreamWriter.java.
Referenced by de.mfuchs.xmlstorage.stream.XMLStreamWriter.writePost(), de.mfuchs.xmlstorage.stream.XMLStreamWriter.writePre(), and de.mfuchs.xmlstorage.stream.XMLStreamWriter.XMLStreamWriter().
Stack<StackEntry> de.mfuchs.xmlstorage.stream.XMLStreamWriter._stack = new Stack<StackEntry>() [protected] |
Definition at line 195 of file XMLStreamWriter.java.
Referenced by de.mfuchs.xmlstorage.stream.XMLStreamWriter.back(), de.mfuchs.xmlstorage.stream.XMLStreamWriter.create(), de.mfuchs.xmlstorage.stream.XMLStreamWriter.put(), de.mfuchs.xmlstorage.stream.XMLStreamWriter.setContent(), de.mfuchs.xmlstorage.stream.XMLStreamWriter.writePost(), and de.mfuchs.xmlstorage.stream.XMLStreamWriter.writePre().
final int de.mfuchs.xmlstorage.stream.XMLStreamWriter.ATTRIBUTES = 2 [static, protected] |
Definition at line 169 of file XMLStreamWriter.java.
Referenced by de.mfuchs.xmlstorage.stream.XMLStreamWriter.writeAttributes(), and de.mfuchs.xmlstorage.stream.XMLStreamWriter.writePost().
final int de.mfuchs.xmlstorage.stream.XMLStreamWriter.NOTHING = 0 [static, protected] |
Definition at line 167 of file XMLStreamWriter.java.
Referenced by de.mfuchs.xmlstorage.stream.XMLStreamWriter.StackEntry.StackEntry().
final int de.mfuchs.xmlstorage.stream.XMLStreamWriter.POST = 5 [static, protected] |
Definition at line 172 of file XMLStreamWriter.java.
Referenced by de.mfuchs.xmlstorage.stream.XMLStreamWriter.writePost().
final int de.mfuchs.xmlstorage.stream.XMLStreamWriter.PRE_CLOSED = 3 [static, protected] |
Definition at line 170 of file XMLStreamWriter.java.
Referenced by de.mfuchs.xmlstorage.stream.XMLStreamWriter.closePre(), de.mfuchs.xmlstorage.stream.XMLStreamWriter.create(), and de.mfuchs.xmlstorage.stream.XMLStreamWriter.writePost().
final int de.mfuchs.xmlstorage.stream.XMLStreamWriter.PRETTY_INDENT = 2 [static] |
Definition at line 61 of file XMLStreamWriter.java.
Referenced by de.mfuchs.xmlstorage.stream.XMLStreamWriter.writePost(), de.mfuchs.xmlstorage.stream.XMLStreamWriter.writePre(), and de.mfuchs.xmlstorage.stream.XMLStreamWriter.XMLStreamWriter().
final int de.mfuchs.xmlstorage.stream.XMLStreamWriter.PRETTY_LINEFEED = 1 [static] |
Definition at line 60 of file XMLStreamWriter.java.
Referenced by de.mfuchs.xmlstorage.stream.XMLStreamWriter.writePost(), and de.mfuchs.xmlstorage.stream.XMLStreamWriter.writePre().
final int de.mfuchs.xmlstorage.stream.XMLStreamWriter.PRETTY_PLAIN = 0 [static] |
Definition at line 59 of file XMLStreamWriter.java.