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.
1.7.2