public class IndentingXMLStreamWriter extends StreamWriterDelegate implements Indentation
XMLStreamWriter
, which you pass to the constructor.
Then call methods of the filter instead of the contained stream. For example:
XMLStreamWriter
stream = ... stream = newIndentingXMLStreamWriter
(stream); stream.writeStartDocument(); ...
The filter inserts characters to format the document as an outline, with nested elements indented. Basically, it inserts a line break and whitespace before:
Indentation can be adjusted by setting the newLine and indent properties. But set them to whitespace only, for best results. Non-whitespace is apt to cause problems, for example when this class attempts to insert newLine before the root element.
out
DEFAULT_INDENT, NORMAL_END_OF_LINE
Constructor and Description |
---|
IndentingXMLStreamWriter(XMLStreamWriter out) |
Modifier and Type | Method and Description |
---|---|
protected void |
afterData()
Note that data were written.
|
protected void |
afterEndDocument()
Note that a document was ended.
|
protected void |
afterEndElement()
Note that an element was ended.
|
protected void |
afterMarkup()
Note that markup or indentation was written.
|
protected void |
afterStartElement()
Note that an element was started.
|
protected void |
beforeEndElement()
Prepare to end an element, by writing a new line and indentation.
|
protected void |
beforeMarkup()
Prepare to write markup, by writing a new line and indentation.
|
protected void |
beforeStartElement()
Prepare to start an element, by allocating stack space.
|
java.lang.String |
getIndent()
The characters used for one level of indentation.
|
static java.lang.String |
getLineSeparator() |
java.lang.String |
getNewLine()
The characters that introduce a new line.
|
void |
setIndent(java.lang.String indent)
Set the characters used for one level of indentation.
|
void |
setNewLine(java.lang.String newLine)
Set the characters that introduce a new line.
|
void |
writeCData(java.lang.String data) |
void |
writeCharacters(char[] text,
int start,
int len) |
void |
writeCharacters(java.lang.String text) |
void |
writeComment(java.lang.String data) |
void |
writeDTD(java.lang.String dtd) |
void |
writeEmptyElement(java.lang.String localName) |
void |
writeEmptyElement(java.lang.String namespaceURI,
java.lang.String localName) |
void |
writeEmptyElement(java.lang.String prefix,
java.lang.String localName,
java.lang.String namespaceURI) |
void |
writeEndDocument() |
void |
writeEndElement() |
void |
writeEntityRef(java.lang.String name) |
protected void |
writeNewLine(int indentation)
Write a line separator followed by indentation.
|
void |
writeProcessingInstruction(java.lang.String target) |
void |
writeProcessingInstruction(java.lang.String target,
java.lang.String data) |
void |
writeStartDocument() |
void |
writeStartDocument(java.lang.String version) |
void |
writeStartDocument(java.lang.String encoding,
java.lang.String version) |
void |
writeStartElement(java.lang.String localName) |
void |
writeStartElement(java.lang.String namespaceURI,
java.lang.String localName) |
void |
writeStartElement(java.lang.String prefix,
java.lang.String localName,
java.lang.String namespaceURI) |
close, flush, getNamespaceContext, getPrefix, getProperty, setDefaultNamespace, setNamespaceContext, setPrefix, writeAttribute, writeAttribute, writeAttribute, writeDefaultNamespace, writeNamespace
public IndentingXMLStreamWriter(XMLStreamWriter out)
public void setIndent(java.lang.String indent)
Indentation
Indentation.DEFAULT_INDENT
. "\t" is a popular alternative.setIndent
in interface Indentation
public java.lang.String getIndent()
Indentation
getIndent
in interface Indentation
public void setNewLine(java.lang.String newLine)
Indentation
Indentation.NORMAL_END_OF_LINE
.
getLineSeparator()
() is a popular
alternative.setNewLine
in interface Indentation
public static java.lang.String getLineSeparator()
Indentation.NORMAL_END_OF_LINE
if that fails.public java.lang.String getNewLine()
Indentation
getNewLine
in interface Indentation
public void writeStartDocument() throws XMLStreamException
writeStartDocument
in interface XMLStreamWriter
writeStartDocument
in class StreamWriterDelegate
XMLStreamException
public void writeStartDocument(java.lang.String version) throws XMLStreamException
writeStartDocument
in interface XMLStreamWriter
writeStartDocument
in class StreamWriterDelegate
XMLStreamException
public void writeStartDocument(java.lang.String encoding, java.lang.String version) throws XMLStreamException
writeStartDocument
in interface XMLStreamWriter
writeStartDocument
in class StreamWriterDelegate
XMLStreamException
public void writeDTD(java.lang.String dtd) throws XMLStreamException
writeDTD
in interface XMLStreamWriter
writeDTD
in class StreamWriterDelegate
XMLStreamException
public void writeProcessingInstruction(java.lang.String target) throws XMLStreamException
writeProcessingInstruction
in interface XMLStreamWriter
writeProcessingInstruction
in class StreamWriterDelegate
XMLStreamException
public void writeProcessingInstruction(java.lang.String target, java.lang.String data) throws XMLStreamException
writeProcessingInstruction
in interface XMLStreamWriter
writeProcessingInstruction
in class StreamWriterDelegate
XMLStreamException
public void writeComment(java.lang.String data) throws XMLStreamException
writeComment
in interface XMLStreamWriter
writeComment
in class StreamWriterDelegate
XMLStreamException
public void writeEmptyElement(java.lang.String localName) throws XMLStreamException
writeEmptyElement
in interface XMLStreamWriter
writeEmptyElement
in class StreamWriterDelegate
XMLStreamException
public void writeEmptyElement(java.lang.String namespaceURI, java.lang.String localName) throws XMLStreamException
writeEmptyElement
in interface XMLStreamWriter
writeEmptyElement
in class StreamWriterDelegate
XMLStreamException
public void writeEmptyElement(java.lang.String prefix, java.lang.String localName, java.lang.String namespaceURI) throws XMLStreamException
writeEmptyElement
in interface XMLStreamWriter
writeEmptyElement
in class StreamWriterDelegate
XMLStreamException
public void writeStartElement(java.lang.String localName) throws XMLStreamException
writeStartElement
in interface XMLStreamWriter
writeStartElement
in class StreamWriterDelegate
XMLStreamException
public void writeStartElement(java.lang.String namespaceURI, java.lang.String localName) throws XMLStreamException
writeStartElement
in interface XMLStreamWriter
writeStartElement
in class StreamWriterDelegate
XMLStreamException
public void writeStartElement(java.lang.String prefix, java.lang.String localName, java.lang.String namespaceURI) throws XMLStreamException
writeStartElement
in interface XMLStreamWriter
writeStartElement
in class StreamWriterDelegate
XMLStreamException
public void writeCharacters(java.lang.String text) throws XMLStreamException
writeCharacters
in interface XMLStreamWriter
writeCharacters
in class StreamWriterDelegate
XMLStreamException
public void writeCharacters(char[] text, int start, int len) throws XMLStreamException
writeCharacters
in interface XMLStreamWriter
writeCharacters
in class StreamWriterDelegate
XMLStreamException
public void writeCData(java.lang.String data) throws XMLStreamException
writeCData
in interface XMLStreamWriter
writeCData
in class StreamWriterDelegate
XMLStreamException
public void writeEntityRef(java.lang.String name) throws XMLStreamException
writeEntityRef
in interface XMLStreamWriter
writeEntityRef
in class StreamWriterDelegate
XMLStreamException
public void writeEndElement() throws XMLStreamException
writeEndElement
in interface XMLStreamWriter
writeEndElement
in class StreamWriterDelegate
XMLStreamException
public void writeEndDocument() throws XMLStreamException
writeEndDocument
in interface XMLStreamWriter
writeEndDocument
in class StreamWriterDelegate
XMLStreamException
protected void beforeMarkup()
protected void afterMarkup()
protected void afterData()
protected void beforeStartElement()
protected void afterStartElement()
protected void beforeEndElement()
protected void afterEndElement()
protected void afterEndDocument()
protected void writeNewLine(int indentation) throws XMLStreamException
XMLStreamException