Package org.jboss.staxmapper
Class FormattingXMLStreamWriter
- java.lang.Object
-
- org.jboss.staxmapper.FormattingXMLStreamWriter
-
- All Implemented Interfaces:
javax.xml.stream.XMLStreamConstants
,javax.xml.stream.XMLStreamWriter
,XMLExtendedStreamWriter
public final class FormattingXMLStreamWriter extends java.lang.Object implements XMLExtendedStreamWriter, javax.xml.stream.XMLStreamConstants
An XML stream writer which nicely formats the XML for configuration files.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static interface
FormattingXMLStreamWriter.ArgRunnable
-
Field Summary
Fields Modifier and Type Field Description private java.util.ArrayDeque<FormattingXMLStreamWriter.ArgRunnable>
attrQueue
private javax.xml.stream.XMLStreamWriter
delegate
private boolean
indentEndElement
private int
level
private static java.lang.String
NO_NAMESPACE
private int
state
private java.util.ArrayDeque<java.lang.String>
unspecifiedNamespaces
-
Constructor Summary
Constructors Constructor Description FormattingXMLStreamWriter(javax.xml.stream.XMLStreamWriter delegate)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
void
flush()
javax.xml.namespace.NamespaceContext
getNamespaceContext()
java.lang.String
getPrefix(java.lang.String uri)
java.lang.Object
getProperty(java.lang.String name)
private void
indent()
private static java.lang.String
join(java.lang.Iterable<java.lang.String> values)
private static java.lang.String
join(java.lang.String[] values)
private java.lang.String
nestUnspecifiedNamespace()
private void
nl()
private void
runAttrQueue()
void
setDefaultNamespace(java.lang.String uri)
void
setNamespaceContext(javax.xml.namespace.NamespaceContext context)
void
setPrefix(java.lang.String prefix, java.lang.String uri)
void
setUnspecifiedElementNamespace(java.lang.String namespace)
Sets the namespace to use for child element writes when a namespace is not specified.void
writeAttribute(java.lang.String localName, java.lang.Iterable<java.lang.String> values)
void
writeAttribute(java.lang.String localName, java.lang.String value)
void
writeAttribute(java.lang.String localName, java.lang.String[] values)
void
writeAttribute(java.lang.String namespaceURI, java.lang.String localName, java.lang.Iterable<java.lang.String> values)
void
writeAttribute(java.lang.String namespaceURI, java.lang.String localName, java.lang.String value)
void
writeAttribute(java.lang.String namespaceURI, java.lang.String localName, java.lang.String[] values)
void
writeAttribute(java.lang.String prefix, java.lang.String namespaceURI, java.lang.String localName, java.lang.Iterable<java.lang.String> values)
void
writeAttribute(java.lang.String prefix, java.lang.String namespaceURI, java.lang.String localName, java.lang.String value)
void
writeAttribute(java.lang.String prefix, java.lang.String namespaceURI, java.lang.String localName, java.lang.String[] values)
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
writeDefaultNamespace(java.lang.String namespaceURI)
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)
void
writeNamespace(java.lang.String prefix, java.lang.String namespaceURI)
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)
-
-
-
Field Detail
-
NO_NAMESPACE
private static final java.lang.String NO_NAMESPACE
-
delegate
private final javax.xml.stream.XMLStreamWriter delegate
-
attrQueue
private final java.util.ArrayDeque<FormattingXMLStreamWriter.ArgRunnable> attrQueue
-
level
private int level
-
state
private int state
-
indentEndElement
private boolean indentEndElement
-
unspecifiedNamespaces
private java.util.ArrayDeque<java.lang.String> unspecifiedNamespaces
-
-
Method Detail
-
nl
private void nl() throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
indent
private void indent() throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
setUnspecifiedElementNamespace
public void setUnspecifiedElementNamespace(java.lang.String namespace)
Description copied from interface:XMLExtendedStreamWriter
Sets the namespace to use for child element writes when a namespace is not specified. In other words, whenXMLStreamWriter.writeStartElement(String)
is called this namespace will be used. Setting this to null will result in the standard behavior, which is usage of the xml default ns (not specifying a prefix) This setting is scoped within the document or element that it was called in. Once called all further child elements will use this namespace. In addition, it is inherited for all levels of nesting. In other words, setting an unspecified namespace on a grandchild will not affect the namespace setting of a child sibling. To clear the effect of this setting, call the method with a value of null.- Specified by:
setUnspecifiedElementNamespace
in interfaceXMLExtendedStreamWriter
- Parameters:
namespace
- The namespace to use when not specified on elements, or null if the xml default ns should be used
-
nestUnspecifiedNamespace
private java.lang.String nestUnspecifiedNamespace()
-
writeStartElement
public void writeStartElement(java.lang.String localName) throws javax.xml.stream.XMLStreamException
- Specified by:
writeStartElement
in interfacejavax.xml.stream.XMLStreamWriter
- Throws:
javax.xml.stream.XMLStreamException
-
writeStartElement
public void writeStartElement(java.lang.String namespaceURI, java.lang.String localName) throws javax.xml.stream.XMLStreamException
- Specified by:
writeStartElement
in interfacejavax.xml.stream.XMLStreamWriter
- 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:
writeStartElement
in interfacejavax.xml.stream.XMLStreamWriter
- Throws:
javax.xml.stream.XMLStreamException
-
writeEmptyElement
public void writeEmptyElement(java.lang.String namespaceURI, java.lang.String localName) throws javax.xml.stream.XMLStreamException
- Specified by:
writeEmptyElement
in interfacejavax.xml.stream.XMLStreamWriter
- 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:
writeEmptyElement
in interfacejavax.xml.stream.XMLStreamWriter
- Throws:
javax.xml.stream.XMLStreamException
-
writeEmptyElement
public void writeEmptyElement(java.lang.String localName) throws javax.xml.stream.XMLStreamException
- Specified by:
writeEmptyElement
in interfacejavax.xml.stream.XMLStreamWriter
- Throws:
javax.xml.stream.XMLStreamException
-
writeEndElement
public void writeEndElement() throws javax.xml.stream.XMLStreamException
- Specified by:
writeEndElement
in interfacejavax.xml.stream.XMLStreamWriter
- Throws:
javax.xml.stream.XMLStreamException
-
runAttrQueue
private void runAttrQueue() throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
-
writeEndDocument
public void writeEndDocument() throws javax.xml.stream.XMLStreamException
- Specified by:
writeEndDocument
in interfacejavax.xml.stream.XMLStreamWriter
- Throws:
javax.xml.stream.XMLStreamException
-
close
public void close() throws javax.xml.stream.XMLStreamException
- Specified by:
close
in interfacejavax.xml.stream.XMLStreamWriter
- Throws:
javax.xml.stream.XMLStreamException
-
flush
public void flush() throws javax.xml.stream.XMLStreamException
- Specified by:
flush
in interfacejavax.xml.stream.XMLStreamWriter
- Throws:
javax.xml.stream.XMLStreamException
-
writeAttribute
public void writeAttribute(java.lang.String localName, java.lang.String value) throws javax.xml.stream.XMLStreamException
- Specified by:
writeAttribute
in interfacejavax.xml.stream.XMLStreamWriter
- Throws:
javax.xml.stream.XMLStreamException
-
writeAttribute
public void writeAttribute(java.lang.String prefix, java.lang.String namespaceURI, java.lang.String localName, java.lang.String value) throws javax.xml.stream.XMLStreamException
- Specified by:
writeAttribute
in interfacejavax.xml.stream.XMLStreamWriter
- Throws:
javax.xml.stream.XMLStreamException
-
writeAttribute
public void writeAttribute(java.lang.String namespaceURI, java.lang.String localName, java.lang.String value) throws javax.xml.stream.XMLStreamException
- Specified by:
writeAttribute
in interfacejavax.xml.stream.XMLStreamWriter
- Throws:
javax.xml.stream.XMLStreamException
-
writeAttribute
public void writeAttribute(java.lang.String localName, java.lang.String[] values) throws javax.xml.stream.XMLStreamException
- Specified by:
writeAttribute
in interfaceXMLExtendedStreamWriter
- Throws:
javax.xml.stream.XMLStreamException
-
writeAttribute
public void writeAttribute(java.lang.String prefix, java.lang.String namespaceURI, java.lang.String localName, java.lang.String[] values) throws javax.xml.stream.XMLStreamException
- Specified by:
writeAttribute
in interfaceXMLExtendedStreamWriter
- Throws:
javax.xml.stream.XMLStreamException
-
writeAttribute
public void writeAttribute(java.lang.String namespaceURI, java.lang.String localName, java.lang.String[] values) throws javax.xml.stream.XMLStreamException
- Specified by:
writeAttribute
in interfaceXMLExtendedStreamWriter
- Throws:
javax.xml.stream.XMLStreamException
-
writeAttribute
public void writeAttribute(java.lang.String localName, java.lang.Iterable<java.lang.String> values) throws javax.xml.stream.XMLStreamException
- Specified by:
writeAttribute
in interfaceXMLExtendedStreamWriter
- Throws:
javax.xml.stream.XMLStreamException
-
writeAttribute
public void writeAttribute(java.lang.String prefix, java.lang.String namespaceURI, java.lang.String localName, java.lang.Iterable<java.lang.String> values) throws javax.xml.stream.XMLStreamException
- Specified by:
writeAttribute
in interfaceXMLExtendedStreamWriter
- Throws:
javax.xml.stream.XMLStreamException
-
writeAttribute
public void writeAttribute(java.lang.String namespaceURI, java.lang.String localName, java.lang.Iterable<java.lang.String> values) throws javax.xml.stream.XMLStreamException
- Specified by:
writeAttribute
in interfaceXMLExtendedStreamWriter
- Throws:
javax.xml.stream.XMLStreamException
-
writeNamespace
public void writeNamespace(java.lang.String prefix, java.lang.String namespaceURI) throws javax.xml.stream.XMLStreamException
- Specified by:
writeNamespace
in interfacejavax.xml.stream.XMLStreamWriter
- Throws:
javax.xml.stream.XMLStreamException
-
writeDefaultNamespace
public void writeDefaultNamespace(java.lang.String namespaceURI) throws javax.xml.stream.XMLStreamException
- Specified by:
writeDefaultNamespace
in interfacejavax.xml.stream.XMLStreamWriter
- Throws:
javax.xml.stream.XMLStreamException
-
writeComment
public void writeComment(java.lang.String data) throws javax.xml.stream.XMLStreamException
- Specified by:
writeComment
in interfacejavax.xml.stream.XMLStreamWriter
- Throws:
javax.xml.stream.XMLStreamException
-
writeProcessingInstruction
public void writeProcessingInstruction(java.lang.String target) throws javax.xml.stream.XMLStreamException
- Specified by:
writeProcessingInstruction
in interfacejavax.xml.stream.XMLStreamWriter
- Throws:
javax.xml.stream.XMLStreamException
-
writeProcessingInstruction
public void writeProcessingInstruction(java.lang.String target, java.lang.String data) throws javax.xml.stream.XMLStreamException
- Specified by:
writeProcessingInstruction
in interfacejavax.xml.stream.XMLStreamWriter
- Throws:
javax.xml.stream.XMLStreamException
-
writeCData
public void writeCData(java.lang.String data) throws javax.xml.stream.XMLStreamException
- Specified by:
writeCData
in interfacejavax.xml.stream.XMLStreamWriter
- Throws:
javax.xml.stream.XMLStreamException
-
writeDTD
public void writeDTD(java.lang.String dtd) throws javax.xml.stream.XMLStreamException
- Specified by:
writeDTD
in interfacejavax.xml.stream.XMLStreamWriter
- Throws:
javax.xml.stream.XMLStreamException
-
writeEntityRef
public void writeEntityRef(java.lang.String name) throws javax.xml.stream.XMLStreamException
- Specified by:
writeEntityRef
in interfacejavax.xml.stream.XMLStreamWriter
- Throws:
javax.xml.stream.XMLStreamException
-
writeStartDocument
public void writeStartDocument() throws javax.xml.stream.XMLStreamException
- Specified by:
writeStartDocument
in interfacejavax.xml.stream.XMLStreamWriter
- Throws:
javax.xml.stream.XMLStreamException
-
writeStartDocument
public void writeStartDocument(java.lang.String version) throws javax.xml.stream.XMLStreamException
- Specified by:
writeStartDocument
in interfacejavax.xml.stream.XMLStreamWriter
- Throws:
javax.xml.stream.XMLStreamException
-
writeStartDocument
public void writeStartDocument(java.lang.String encoding, java.lang.String version) throws javax.xml.stream.XMLStreamException
- Specified by:
writeStartDocument
in interfacejavax.xml.stream.XMLStreamWriter
- Throws:
javax.xml.stream.XMLStreamException
-
writeCharacters
public void writeCharacters(java.lang.String text) throws javax.xml.stream.XMLStreamException
- Specified by:
writeCharacters
in interfacejavax.xml.stream.XMLStreamWriter
- Throws:
javax.xml.stream.XMLStreamException
-
writeCharacters
public void writeCharacters(char[] text, int start, int len) throws javax.xml.stream.XMLStreamException
- Specified by:
writeCharacters
in interfacejavax.xml.stream.XMLStreamWriter
- Throws:
javax.xml.stream.XMLStreamException
-
getPrefix
public java.lang.String getPrefix(java.lang.String uri) throws javax.xml.stream.XMLStreamException
- Specified by:
getPrefix
in interfacejavax.xml.stream.XMLStreamWriter
- Throws:
javax.xml.stream.XMLStreamException
-
setPrefix
public void setPrefix(java.lang.String prefix, java.lang.String uri) throws javax.xml.stream.XMLStreamException
- Specified by:
setPrefix
in interfacejavax.xml.stream.XMLStreamWriter
- Throws:
javax.xml.stream.XMLStreamException
-
setDefaultNamespace
public void setDefaultNamespace(java.lang.String uri) throws javax.xml.stream.XMLStreamException
- Specified by:
setDefaultNamespace
in interfacejavax.xml.stream.XMLStreamWriter
- Throws:
javax.xml.stream.XMLStreamException
-
setNamespaceContext
public void setNamespaceContext(javax.xml.namespace.NamespaceContext context) throws javax.xml.stream.XMLStreamException
- Specified by:
setNamespaceContext
in interfacejavax.xml.stream.XMLStreamWriter
- Throws:
javax.xml.stream.XMLStreamException
-
getNamespaceContext
public javax.xml.namespace.NamespaceContext getNamespaceContext()
- Specified by:
getNamespaceContext
in interfacejavax.xml.stream.XMLStreamWriter
-
getProperty
public java.lang.Object getProperty(java.lang.String name) throws java.lang.IllegalArgumentException
- Specified by:
getProperty
in interfacejavax.xml.stream.XMLStreamWriter
- Throws:
java.lang.IllegalArgumentException
-
join
private static java.lang.String join(java.lang.String[] values)
-
join
private static java.lang.String join(java.lang.Iterable<java.lang.String> values)
-
-