- java.lang.Object
-
- org.xbib.content.xml.stream.StreamWriterDelegate
-
- org.xbib.content.xml.stream.IndentingXMLStreamWriter
-
- All Implemented Interfaces:
javax.xml.stream.XMLStreamWriter,Indentation
public class IndentingXMLStreamWriter extends StreamWriterDelegate implements Indentation
A filter that indents an XML stream. To apply it, construct a filter that contains anotherXMLStreamWriter, which you pass to the constructor. Then call methods of the filter instead of the contained stream. For example:
The filter inserts characters to format the document as an outline, with nested elements indented. Basically, it inserts a line break and whitespace before:XMLStreamWriterstream = ... stream = newIndentingXMLStreamWriter(stream); stream.writeStartDocument(); ...- each DTD, processing instruction or comment that's not preceded by data
- each starting tag that's not preceded by data
- each ending tag that's preceded by nested elements but not data
-
-
Field Summary
-
Fields inherited from class org.xbib.content.xml.stream.StreamWriterDelegate
out
-
Fields inherited from interface org.xbib.content.xml.stream.Indentation
DEFAULT_INDENT, NORMAL_END_OF_LINE
-
-
Constructor Summary
Constructors Constructor Description IndentingXMLStreamWriter(javax.xml.stream.XMLStreamWriter out)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidafterData()protected voidafterEndDocument()protected voidafterEndElement()protected voidafterMarkup()protected voidafterStartElement()protected voidbeforeEndElement()protected voidbeforeMarkup()protected voidbeforeStartElement()java.lang.StringgetIndent()The characters used for one level of indentation.java.lang.StringgetNewLine()voidsetIndent(java.lang.String indent)Set the characters used for one level of indentation.voidsetNewLine(java.lang.String newLine)voidwriteCData(java.lang.String data)voidwriteCharacters(char[] text, int start, int len)voidwriteCharacters(java.lang.String text)voidwriteComment(java.lang.String data)voidwriteDTD(java.lang.String dtd)voidwriteEmptyElement(java.lang.String localName)voidwriteEmptyElement(java.lang.String namespaceURI, java.lang.String localName)voidwriteEmptyElement(java.lang.String prefix, java.lang.String localName, java.lang.String namespaceURI)voidwriteEndDocument()voidwriteEndElement()voidwriteEntityRef(java.lang.String name)protected voidwriteNewLine(int indentation)Write a line separator followed by indentation.voidwriteProcessingInstruction(java.lang.String target)voidwriteProcessingInstruction(java.lang.String target, java.lang.String data)voidwriteStartDocument()voidwriteStartDocument(java.lang.String version)voidwriteStartDocument(java.lang.String encoding, java.lang.String version)voidwriteStartElement(java.lang.String localName)voidwriteStartElement(java.lang.String namespaceURI, java.lang.String localName)voidwriteStartElement(java.lang.String prefix, java.lang.String localName, java.lang.String namespaceURI)-
Methods inherited from class org.xbib.content.xml.stream.StreamWriterDelegate
close, flush, getNamespaceContext, getPrefix, getProperty, setDefaultNamespace, setNamespaceContext, setPrefix, writeAttribute, writeAttribute, writeAttribute, writeDefaultNamespace, writeNamespace
-
-
-
-
Method Detail
-
getIndent
public java.lang.String getIndent()
Description copied from interface:IndentationThe characters used for one level of indentation.- Specified by:
getIndentin interfaceIndentation- Returns:
- the indentation string
-
setIndent
public void setIndent(java.lang.String indent)
Description copied from interface:IndentationSet the characters used for one level of indentation. The default isIndentation.DEFAULT_INDENT. "\t" is a popular alternative.- Specified by:
setIndentin interfaceIndentation- Parameters:
indent- the indentation string
-
getNewLine
public java.lang.String getNewLine()
-
setNewLine
public void setNewLine(java.lang.String newLine)
-
writeStartDocument
public void writeStartDocument() throws javax.xml.stream.XMLStreamException- Specified by:
writeStartDocumentin interfacejavax.xml.stream.XMLStreamWriter- Overrides:
writeStartDocumentin classStreamWriterDelegate- Throws:
javax.xml.stream.XMLStreamException
-
writeStartDocument
public void writeStartDocument(java.lang.String version) throws javax.xml.stream.XMLStreamException- Specified by:
writeStartDocumentin interfacejavax.xml.stream.XMLStreamWriter- Overrides:
writeStartDocumentin classStreamWriterDelegate- Throws:
javax.xml.stream.XMLStreamException
-
writeStartDocument
public void writeStartDocument(java.lang.String encoding, java.lang.String version) throws javax.xml.stream.XMLStreamException- Specified by:
writeStartDocumentin interfacejavax.xml.stream.XMLStreamWriter- Overrides:
writeStartDocumentin classStreamWriterDelegate- Throws:
javax.xml.stream.XMLStreamException
-
writeDTD
public void writeDTD(java.lang.String dtd) throws javax.xml.stream.XMLStreamException- Specified by:
writeDTDin interfacejavax.xml.stream.XMLStreamWriter- Overrides:
writeDTDin classStreamWriterDelegate- Throws:
javax.xml.stream.XMLStreamException
-
writeProcessingInstruction
public void writeProcessingInstruction(java.lang.String target) throws javax.xml.stream.XMLStreamException- Specified by:
writeProcessingInstructionin interfacejavax.xml.stream.XMLStreamWriter- Overrides:
writeProcessingInstructionin classStreamWriterDelegate- Throws:
javax.xml.stream.XMLStreamException
-
writeProcessingInstruction
public void writeProcessingInstruction(java.lang.String target, java.lang.String data) throws javax.xml.stream.XMLStreamException- Specified by:
writeProcessingInstructionin interfacejavax.xml.stream.XMLStreamWriter- Overrides:
writeProcessingInstructionin classStreamWriterDelegate- Throws:
javax.xml.stream.XMLStreamException
-
writeComment
public void writeComment(java.lang.String data) throws javax.xml.stream.XMLStreamException- Specified by:
writeCommentin interfacejavax.xml.stream.XMLStreamWriter- Overrides:
writeCommentin classStreamWriterDelegate- Throws:
javax.xml.stream.XMLStreamException
-
writeEmptyElement
public void writeEmptyElement(java.lang.String localName) throws javax.xml.stream.XMLStreamException- Specified by:
writeEmptyElementin interfacejavax.xml.stream.XMLStreamWriter- Overrides:
writeEmptyElementin classStreamWriterDelegate- Throws:
javax.xml.stream.XMLStreamException
-
writeEmptyElement
public void writeEmptyElement(java.lang.String namespaceURI, java.lang.String localName) throws javax.xml.stream.XMLStreamException- Specified by:
writeEmptyElementin interfacejavax.xml.stream.XMLStreamWriter- Overrides:
writeEmptyElementin classStreamWriterDelegate- Throws:
javax.xml.stream.XMLStreamException
-
writeEmptyElement
public void writeEmptyElement(java.lang.String prefix, java.lang.String localName, java.lang.String namespaceURI) throws javax.xml.stream.XMLStreamException- Specified by:
writeEmptyElementin interfacejavax.xml.stream.XMLStreamWriter- Overrides:
writeEmptyElementin classStreamWriterDelegate- Throws:
javax.xml.stream.XMLStreamException
-
writeStartElement
public void writeStartElement(java.lang.String localName) throws javax.xml.stream.XMLStreamException- Specified by:
writeStartElementin interfacejavax.xml.stream.XMLStreamWriter- Overrides:
writeStartElementin classStreamWriterDelegate- Throws:
javax.xml.stream.XMLStreamException
-
writeStartElement
public void writeStartElement(java.lang.String namespaceURI, java.lang.String localName) throws javax.xml.stream.XMLStreamException- Specified by:
writeStartElementin interfacejavax.xml.stream.XMLStreamWriter- Overrides:
writeStartElementin classStreamWriterDelegate- Throws:
javax.xml.stream.XMLStreamException
-
writeStartElement
public void writeStartElement(java.lang.String prefix, java.lang.String localName, java.lang.String namespaceURI) throws javax.xml.stream.XMLStreamException- Specified by:
writeStartElementin interfacejavax.xml.stream.XMLStreamWriter- Overrides:
writeStartElementin classStreamWriterDelegate- Throws:
javax.xml.stream.XMLStreamException
-
writeCharacters
public void writeCharacters(java.lang.String text) throws javax.xml.stream.XMLStreamException- Specified by:
writeCharactersin interfacejavax.xml.stream.XMLStreamWriter- Overrides:
writeCharactersin classStreamWriterDelegate- Throws:
javax.xml.stream.XMLStreamException
-
writeCharacters
public void writeCharacters(char[] text, int start, int len) throws javax.xml.stream.XMLStreamException- Specified by:
writeCharactersin interfacejavax.xml.stream.XMLStreamWriter- Overrides:
writeCharactersin classStreamWriterDelegate- Throws:
javax.xml.stream.XMLStreamException
-
writeCData
public void writeCData(java.lang.String data) throws javax.xml.stream.XMLStreamException- Specified by:
writeCDatain interfacejavax.xml.stream.XMLStreamWriter- Overrides:
writeCDatain classStreamWriterDelegate- Throws:
javax.xml.stream.XMLStreamException
-
writeEntityRef
public void writeEntityRef(java.lang.String name) throws javax.xml.stream.XMLStreamException- Specified by:
writeEntityRefin interfacejavax.xml.stream.XMLStreamWriter- Overrides:
writeEntityRefin classStreamWriterDelegate- Throws:
javax.xml.stream.XMLStreamException
-
writeEndElement
public void writeEndElement() throws javax.xml.stream.XMLStreamException- Specified by:
writeEndElementin interfacejavax.xml.stream.XMLStreamWriter- Overrides:
writeEndElementin classStreamWriterDelegate- Throws:
javax.xml.stream.XMLStreamException
-
writeEndDocument
public void writeEndDocument() throws javax.xml.stream.XMLStreamException- Specified by:
writeEndDocumentin interfacejavax.xml.stream.XMLStreamWriter- Overrides:
writeEndDocumentin classStreamWriterDelegate- Throws:
javax.xml.stream.XMLStreamException
-
beforeMarkup
protected void beforeMarkup() throws javax.xml.stream.XMLStreamException- Throws:
javax.xml.stream.XMLStreamException
-
afterMarkup
protected void afterMarkup()
-
afterData
protected void afterData()
-
beforeStartElement
protected void beforeStartElement() throws javax.xml.stream.XMLStreamException- Throws:
javax.xml.stream.XMLStreamException
-
afterStartElement
protected void afterStartElement()
-
beforeEndElement
protected void beforeEndElement()
-
afterEndElement
protected void afterEndElement()
-
afterEndDocument
protected void afterEndDocument()
-
writeNewLine
protected void writeNewLine(int indentation) throws javax.xml.stream.XMLStreamExceptionWrite a line separator followed by indentation.- Parameters:
indentation- indent level- Throws:
javax.xml.stream.XMLStreamException- if XML stream can not be processed
-
-