Package org.apache.axis2.json.moshi
Class MoshiXMLStreamWriter
- java.lang.Object
-
- org.apache.axis2.json.moshi.MoshiXMLStreamWriter
-
- All Implemented Interfaces:
XMLStreamWriter
public class MoshiXMLStreamWriter extends Object implements XMLStreamWriter
-
-
Constructor Summary
Constructors Constructor Description MoshiXMLStreamWriter(com.squareup.moshi.JsonWriter jsonWriter, QName elementQName, List<org.apache.ws.commons.schema.XmlSchema> xmlSchemaList, ConfigurationContext context)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Close this writer and free any resources associated with the writer.void
flush()
Write any cached data to the underlying output mechanism.NamespaceContext
getNamespaceContext()
Returns the current namespace context.String
getPrefix(String uri)
Gets the prefix the uri is bound toObject
getProperty(String name)
Get the value of a feature/property from the underlying implementationvoid
setDefaultNamespace(String uri)
Binds a URI to the default namespace This URI is bound in the scope of the current START_ELEMENT / END_ELEMENT pair.void
setNamespaceContext(NamespaceContext context)
Sets the current namespace context for prefix and uri bindings.void
setPrefix(String prefix, String uri)
Sets the prefix the uri is bound to.void
writeAttribute(String localName, String value)
Writes an attribute to the output stream without a prefix.void
writeAttribute(String namespaceURI, String localName, String value)
Writes an attribute to the output streamvoid
writeAttribute(String prefix, String namespaceURI, String localName, String value)
Writes an attribute to the output streamvoid
writeCData(String data)
Writes a CData sectionvoid
writeCharacters(char[] text, int start, int len)
Write text to the outputvoid
writeCharacters(String text)
Write text to the outputvoid
writeComment(String data)
Writes an xml comment with the data enclosedvoid
writeDefaultNamespace(String namespaceURI)
Writes the default namespace to the streamvoid
writeDTD(String dtd)
Write a DTD section.void
writeEmptyElement(String localName)
Writes an empty element tag to the outputvoid
writeEmptyElement(String namespaceURI, String localName)
Writes an empty element tag to the outputvoid
writeEmptyElement(String prefix, String localName, String namespaceURI)
Writes an empty element tag to the outputvoid
writeEndDocument()
Closes any start tags and writes corresponding end tags.void
writeEndElement()
Writes an end tag to the output relying on the internal state of the writer to determine the prefix and local name of the event.void
writeEntityRef(String name)
Writes an entity referencevoid
writeNamespace(String prefix, String namespaceURI)
Writes a namespace to the output stream If the prefix argument to this method is the empty string, "xmlns", or null this method will delegate to writeDefaultNamespacevoid
writeProcessingInstruction(String target)
Writes a processing instructionvoid
writeProcessingInstruction(String target, String data)
Writes a processing instructionvoid
writeStartDocument()
Write the XML Declaration.void
writeStartDocument(String version)
Write the XML Declaration.void
writeStartDocument(String encoding, String version)
Write the XML Declaration.void
writeStartElement(String localName)
Writes a start tag to the output.void
writeStartElement(String namespaceURI, String localName)
Writes a start tag to the outputvoid
writeStartElement(String prefix, String localName, String namespaceURI)
Writes a start tag to the output
-
-
-
Constructor Detail
-
MoshiXMLStreamWriter
public MoshiXMLStreamWriter(com.squareup.moshi.JsonWriter jsonWriter, QName elementQName, List<org.apache.ws.commons.schema.XmlSchema> xmlSchemaList, ConfigurationContext context)
-
-
Method Detail
-
writeStartElement
public void writeStartElement(String localName) throws XMLStreamException
Writes a start tag to the output. All writeStartElement methods open a new scope in the internal namespace context. Writing the corresponding EndElement causes the scope to be closed.- Specified by:
writeStartElement
in interfaceXMLStreamWriter
- Parameters:
localName
- local name of the tag, may not be null- Throws:
XMLStreamException
-
writeStartElement
public void writeStartElement(String namespaceURI, String localName) throws XMLStreamException
Writes a start tag to the output- Specified by:
writeStartElement
in interfaceXMLStreamWriter
- Parameters:
namespaceURI
- the namespaceURI of the prefix to use, may not be nulllocalName
- local name of the tag, may not be null- Throws:
XMLStreamException
- if the namespace URI has not been bound to a prefix and javax.xml.stream.isRepairingNamespaces has not been set to true
-
writeStartElement
public void writeStartElement(String prefix, String localName, String namespaceURI) throws XMLStreamException
Writes a start tag to the output- Specified by:
writeStartElement
in interfaceXMLStreamWriter
- Parameters:
localName
- local name of the tag, may not be nullprefix
- the prefix of the tag, may not be nullnamespaceURI
- the uri to bind the prefix to, may not be null- Throws:
XMLStreamException
-
writeEmptyElement
public void writeEmptyElement(String namespaceURI, String localName) throws XMLStreamException
Writes an empty element tag to the output- Specified by:
writeEmptyElement
in interfaceXMLStreamWriter
- Parameters:
namespaceURI
- the uri to bind the tag to, may not be nulllocalName
- local name of the tag, may not be null- Throws:
XMLStreamException
- if the namespace URI has not been bound to a prefix and javax.xml.stream.isRepairingNamespaces has not been set to true
-
writeEmptyElement
public void writeEmptyElement(String prefix, String localName, String namespaceURI) throws XMLStreamException
Writes an empty element tag to the output- Specified by:
writeEmptyElement
in interfaceXMLStreamWriter
- Parameters:
prefix
- the prefix of the tag, may not be nulllocalName
- local name of the tag, may not be nullnamespaceURI
- the uri to bind the tag to, may not be null- Throws:
XMLStreamException
-
writeEmptyElement
public void writeEmptyElement(String localName) throws XMLStreamException
Writes an empty element tag to the output- Specified by:
writeEmptyElement
in interfaceXMLStreamWriter
- Parameters:
localName
- local name of the tag, may not be null- Throws:
XMLStreamException
-
writeEndElement
public void writeEndElement() throws XMLStreamException
Writes an end tag to the output relying on the internal state of the writer to determine the prefix and local name of the event.- Specified by:
writeEndElement
in interfaceXMLStreamWriter
- Throws:
XMLStreamException
-
writeEndDocument
public void writeEndDocument() throws XMLStreamException
Closes any start tags and writes corresponding end tags.- Specified by:
writeEndDocument
in interfaceXMLStreamWriter
- Throws:
XMLStreamException
-
close
public void close() throws XMLStreamException
Close this writer and free any resources associated with the writer. This must not close the underlying output stream.- Specified by:
close
in interfaceXMLStreamWriter
- Throws:
XMLStreamException
-
flush
public void flush() throws XMLStreamException
Write any cached data to the underlying output mechanism.- Specified by:
flush
in interfaceXMLStreamWriter
- Throws:
XMLStreamException
-
writeAttribute
public void writeAttribute(String localName, String value) throws XMLStreamException
Writes an attribute to the output stream without a prefix.- Specified by:
writeAttribute
in interfaceXMLStreamWriter
- Parameters:
localName
- the local name of the attributevalue
- the value of the attribute- Throws:
IllegalStateException
- if the current state does not allow Attribute writingXMLStreamException
-
writeAttribute
public void writeAttribute(String prefix, String namespaceURI, String localName, String value) throws XMLStreamException
Writes an attribute to the output stream- Specified by:
writeAttribute
in interfaceXMLStreamWriter
- Parameters:
prefix
- the prefix for this attributenamespaceURI
- the uri of the prefix for this attributelocalName
- the local name of the attributevalue
- the value of the attribute- Throws:
IllegalStateException
- if the current state does not allow Attribute writingXMLStreamException
- if the namespace URI has not been bound to a prefix and javax.xml.stream.isRepairingNamespaces has not been set to true
-
writeAttribute
public void writeAttribute(String namespaceURI, String localName, String value) throws XMLStreamException
Writes an attribute to the output stream- Specified by:
writeAttribute
in interfaceXMLStreamWriter
- Parameters:
namespaceURI
- the uri of the prefix for this attributelocalName
- the local name of the attributevalue
- the value of the attribute- Throws:
IllegalStateException
- if the current state does not allow Attribute writingXMLStreamException
- if the namespace URI has not been bound to a prefix and javax.xml.stream.isRepairingNamespaces has not been set to true
-
writeNamespace
public void writeNamespace(String prefix, String namespaceURI) throws XMLStreamException
Writes a namespace to the output stream If the prefix argument to this method is the empty string, "xmlns", or null this method will delegate to writeDefaultNamespace- Specified by:
writeNamespace
in interfaceXMLStreamWriter
- Parameters:
prefix
- the prefix to bind this namespace tonamespaceURI
- the uri to bind the prefix to- Throws:
IllegalStateException
- if the current state does not allow Namespace writingXMLStreamException
-
writeDefaultNamespace
public void writeDefaultNamespace(String namespaceURI) throws XMLStreamException
Writes the default namespace to the stream- Specified by:
writeDefaultNamespace
in interfaceXMLStreamWriter
- Parameters:
namespaceURI
- the uri to bind the default namespace to- Throws:
IllegalStateException
- if the current state does not allow Namespace writingXMLStreamException
-
writeComment
public void writeComment(String data) throws XMLStreamException
Writes an xml comment with the data enclosed- Specified by:
writeComment
in interfaceXMLStreamWriter
- Parameters:
data
- the data contained in the comment, may be null- Throws:
XMLStreamException
-
writeProcessingInstruction
public void writeProcessingInstruction(String target) throws XMLStreamException
Writes a processing instruction- Specified by:
writeProcessingInstruction
in interfaceXMLStreamWriter
- Parameters:
target
- the target of the processing instruction, may not be null- Throws:
XMLStreamException
-
writeProcessingInstruction
public void writeProcessingInstruction(String target, String data) throws XMLStreamException
Writes a processing instruction- Specified by:
writeProcessingInstruction
in interfaceXMLStreamWriter
- Parameters:
target
- the target of the processing instruction, may not be nulldata
- the data contained in the processing instruction, may not be null- Throws:
XMLStreamException
-
writeCData
public void writeCData(String data) throws XMLStreamException
Writes a CData section- Specified by:
writeCData
in interfaceXMLStreamWriter
- Parameters:
data
- the data contained in the CData Section, may not be null- Throws:
XMLStreamException
-
writeDTD
public void writeDTD(String dtd) throws XMLStreamException
Write a DTD section. This string represents the entire doctypedecl production from the XML 1.0 specification.- Specified by:
writeDTD
in interfaceXMLStreamWriter
- Parameters:
dtd
- the DTD to be written- Throws:
XMLStreamException
-
writeEntityRef
public void writeEntityRef(String name) throws XMLStreamException
Writes an entity reference- Specified by:
writeEntityRef
in interfaceXMLStreamWriter
- Parameters:
name
- the name of the entity- Throws:
XMLStreamException
-
writeStartDocument
public void writeStartDocument() throws XMLStreamException
Write the XML Declaration. Defaults the XML version to 1.0, and the encoding to utf-8- Specified by:
writeStartDocument
in interfaceXMLStreamWriter
- Throws:
XMLStreamException
-
writeStartDocument
public void writeStartDocument(String version) throws XMLStreamException
Write the XML Declaration. Defaults the XML version to 1.0- Specified by:
writeStartDocument
in interfaceXMLStreamWriter
- Parameters:
version
- version of the xml document- Throws:
XMLStreamException
-
writeStartDocument
public void writeStartDocument(String encoding, String version) throws XMLStreamException
Write the XML Declaration. Note that the encoding parameter does not set the actual encoding of the underlying output. That must be set when the instance of the XMLStreamWriter is created using the XMLOutputFactory- Specified by:
writeStartDocument
in interfaceXMLStreamWriter
- Parameters:
encoding
- encoding of the xml declarationversion
- version of the xml document- Throws:
XMLStreamException
- If given encoding does not match encoding of the underlying stream
-
writeCharacters
public void writeCharacters(String text) throws XMLStreamException
Write text to the output- Specified by:
writeCharacters
in interfaceXMLStreamWriter
- Parameters:
text
- the value to write- Throws:
XMLStreamException
-
writeCharacters
public void writeCharacters(char[] text, int start, int len) throws XMLStreamException
Write text to the output- Specified by:
writeCharacters
in interfaceXMLStreamWriter
- Parameters:
text
- the value to writestart
- the starting position in the arraylen
- the number of characters to write- Throws:
XMLStreamException
-
getPrefix
public String getPrefix(String uri) throws XMLStreamException
Gets the prefix the uri is bound to- Specified by:
getPrefix
in interfaceXMLStreamWriter
- Returns:
- the prefix or null
- Throws:
XMLStreamException
-
setPrefix
public void setPrefix(String prefix, String uri) throws XMLStreamException
Sets the prefix the uri is bound to. This prefix is bound in the scope of the current START_ELEMENT / END_ELEMENT pair. If this method is called before a START_ELEMENT has been written the prefix is bound in the root scope.- Specified by:
setPrefix
in interfaceXMLStreamWriter
- Parameters:
prefix
- the prefix to bind to the uri, may not be nulluri
- the uri to bind to the prefix, may be null- Throws:
XMLStreamException
-
setDefaultNamespace
public void setDefaultNamespace(String uri) throws XMLStreamException
Binds a URI to the default namespace This URI is bound in the scope of the current START_ELEMENT / END_ELEMENT pair. If this method is called before a START_ELEMENT has been written the uri is bound in the root scope.- Specified by:
setDefaultNamespace
in interfaceXMLStreamWriter
- Parameters:
uri
- the uri to bind to the default namespace, may be null- Throws:
XMLStreamException
-
setNamespaceContext
public void setNamespaceContext(NamespaceContext context) throws XMLStreamException
Sets the current namespace context for prefix and uri bindings. This context becomes the root namespace context for writing and will replace the current root namespace context. Subsequent calls to setPrefix and setDefaultNamespace will bind namespaces using the context passed to the method as the root context for resolving namespaces. This method may only be called once at the start of the document. It does not cause the namespaces to be declared. If a namespace URI to prefix mapping is found in the namespace context it is treated as declared and the prefix may be used by the StreamWriter.- Specified by:
setNamespaceContext
in interfaceXMLStreamWriter
- Parameters:
context
- the namespace context to use for this writer, may not be null- Throws:
XMLStreamException
-
getNamespaceContext
public NamespaceContext getNamespaceContext()
Returns the current namespace context.- Specified by:
getNamespaceContext
in interfaceXMLStreamWriter
- Returns:
- the current NamespaceContext
-
getProperty
public Object getProperty(String name) throws IllegalArgumentException
Get the value of a feature/property from the underlying implementation- Specified by:
getProperty
in interfaceXMLStreamWriter
- Parameters:
name
- The name of the property, may not be null- Returns:
- The value of the property
- Throws:
IllegalArgumentException
- if the property is not supportedNullPointerException
- if the name is null
-
-