public class JsonXMLStreamWriter extends AbstractXMLStreamWriter<org.apache.synapse.commons.staxon.core.json.JsonXMLStreamWriter.ScopeInfo>
<alice>bob<edgar/></alice>) is not supported.writeDTD(...) and writeEntityRef(...) are not supported.writeCData(...) delegates to writeCharacters(...).writeComment(...) does nothing.writeProcessingInstruction(...) does nothing (except for target xml-multiple, see below).The writer may consume processing instructions
(e.g. <?xml-multiple element-name?>) to properly insert JSON array tokens ('['
and ']'). The client provides this instruction through the
AbstractXMLStreamWriter.writeProcessingInstruction(String, String) method,
passing the (possibly prefixed) field name as data e.g.
...
writer.writeProcessingInstruction("xml-multiple", "item");
for (Item item : items) {
writer.writeStartElement("item");
...
writer.writeEndElement();
}
...
The element name passed as processing instruction data is optional. If omitted, the next element within the current scope will start an array. Note, that this method does not allow to create empty arrays (in fact, the above code sample could create unexpected results, if the name would have been omitted and collection were empty).
| Constructor and Description |
|---|
JsonXMLStreamWriter(JsonStreamTarget target,
boolean repairNamespaces,
boolean multiplePI,
char namespaceSeparator,
boolean namespaceDeclarations)
Create writer instance.
|
JsonXMLStreamWriter(JsonStreamTarget target,
boolean repairNamespaces,
boolean multiplePI,
char namespaceSeparator,
boolean namespaceDeclarations,
boolean xmlNilReadWriteEnabled,
boolean xmlWriteNullForEmptyElement)
Create writer instance.
|
| Modifier and Type | Method and Description |
|---|---|
void |
close() |
void |
flush() |
protected void |
writeAttr(java.lang.String prefix,
java.lang.String localName,
java.lang.String namespaceURI,
java.lang.String value)
Write attribute.
|
void |
writeAttribute(java.lang.String prefix,
java.lang.String namespaceURI,
java.lang.String localName,
java.lang.String value) |
void |
writeBoolean(java.lang.Boolean value)
Write boolean value.
|
protected void |
writeData(java.lang.Object data,
int type)
Write characters/comment/dtd/entity data.
|
void |
writeEndArray() |
void |
writeEndDocument() |
protected void |
writeEndElementTag()
Write end element tag.
|
void |
writeNamespace(java.lang.String prefix,
java.lang.String namespaceURI) |
protected void |
writeNsDecl(java.lang.String prefix,
java.lang.String namespaceURI)
Write namespace declaration.
|
void |
writeNumber(java.lang.Number value)
Write number value.
|
protected void |
writePI(java.lang.String target,
java.lang.String data)
Read processing instruction.
|
void |
writeStartArray(java.lang.String fieldName) |
void |
writeStartDocument(java.lang.String encoding,
java.lang.String version) |
protected org.apache.synapse.commons.staxon.core.json.JsonXMLStreamWriter.ScopeInfo |
writeStartElementTag(java.lang.String prefix,
java.lang.String localName,
java.lang.String namespaceURI)
Write open start element tag.
|
protected void |
writeStartElementTagEnd()
Write close start element tag.
|
getNamespaceContext, getPrefix, getProperty, getScope, isStartDocumentWritten, setDefaultNamespace, setNamespaceContext, setPrefix, writeAttribute, writeAttribute, writeCData, writeCharacters, writeCharacters, writeCharacters, writeComment, writeDefaultNamespace, writeDTD, writeEmptyElement, writeEmptyElement, writeEmptyElement, writeEndElement, writeEntityRef, writeProcessingInstruction, writeProcessingInstruction, writeStartDocument, writeStartDocument, writeStartElement, writeStartElement, writeStartElementpublic JsonXMLStreamWriter(JsonStreamTarget target, boolean repairNamespaces, boolean multiplePI, char namespaceSeparator, boolean namespaceDeclarations)
target - stream targetmultiplePI - whether to consume <xml-multiple?> PIs to trigger array startnamespaceSeparator - namespace prefix separatornamespaceDeclarations - whether to write namespace declarationsrepairNamespaces - repair Namespacespublic JsonXMLStreamWriter(JsonStreamTarget target, boolean repairNamespaces, boolean multiplePI, char namespaceSeparator, boolean namespaceDeclarations, boolean xmlNilReadWriteEnabled, boolean xmlWriteNullForEmptyElement)
target - stream targetmultiplePI - whether to consume <xml-multiple?> PIs to trigger array startnamespaceSeparator - namespace prefix separatornamespaceDeclarations - whether to write namespace declarationsxmlNilReadWriteEnabled - Supports reading and writing of XML Nil elements as defined by http://www.w3.org/TR/xmlschema-1/#xsi_nil when the XML/JSON inputs contains nil/null values.repairNamespaces - repair NamespacesxmlWriteNullForEmptyElement - write null or "" for XML empty elements without nil attributeprotected org.apache.synapse.commons.staxon.core.json.JsonXMLStreamWriter.ScopeInfo writeStartElementTag(java.lang.String prefix,
java.lang.String localName,
java.lang.String namespaceURI)
throws javax.xml.stream.XMLStreamException
AbstractXMLStreamWritergetScope().getInfo().writeStartElementTag in class AbstractXMLStreamWriter<org.apache.synapse.commons.staxon.core.json.JsonXMLStreamWriter.ScopeInfo>prefix - element prefix (may be XMLConstants.DEFAULT_NS_PREFIX)localName - local namenamespaceURI - namespace URIjavax.xml.stream.XMLStreamExceptionprotected void writeStartElementTagEnd()
throws javax.xml.stream.XMLStreamException
AbstractXMLStreamWriterwriteStartElementTagEnd in class AbstractXMLStreamWriter<org.apache.synapse.commons.staxon.core.json.JsonXMLStreamWriter.ScopeInfo>javax.xml.stream.XMLStreamExceptionprotected void writeEndElementTag()
throws javax.xml.stream.XMLStreamException
AbstractXMLStreamWriterwriteEndElementTag in class AbstractXMLStreamWriter<org.apache.synapse.commons.staxon.core.json.JsonXMLStreamWriter.ScopeInfo>javax.xml.stream.XMLStreamExceptionpublic void writeAttribute(java.lang.String prefix,
java.lang.String namespaceURI,
java.lang.String localName,
java.lang.String value)
throws javax.xml.stream.XMLStreamException
writeAttribute in interface javax.xml.stream.XMLStreamWriterwriteAttribute in class AbstractXMLStreamWriter<org.apache.synapse.commons.staxon.core.json.JsonXMLStreamWriter.ScopeInfo>javax.xml.stream.XMLStreamExceptionpublic void writeNamespace(java.lang.String prefix,
java.lang.String namespaceURI)
throws javax.xml.stream.XMLStreamException
writeNamespace in interface javax.xml.stream.XMLStreamWriterwriteNamespace in class AbstractXMLStreamWriter<org.apache.synapse.commons.staxon.core.json.JsonXMLStreamWriter.ScopeInfo>javax.xml.stream.XMLStreamExceptionprotected void writeAttr(java.lang.String prefix,
java.lang.String localName,
java.lang.String namespaceURI,
java.lang.String value)
throws javax.xml.stream.XMLStreamException
AbstractXMLStreamWriterwriteAttr in class AbstractXMLStreamWriter<org.apache.synapse.commons.staxon.core.json.JsonXMLStreamWriter.ScopeInfo>prefix - attribute prefix (may be XMLConstants.DEFAULT_NS_PREFIX)localName - local namenamespaceURI - namespace URIvalue - attribute valuejavax.xml.stream.XMLStreamExceptionprotected void writeNsDecl(java.lang.String prefix,
java.lang.String namespaceURI)
throws javax.xml.stream.XMLStreamException
AbstractXMLStreamWriterwriteNsDecl in class AbstractXMLStreamWriter<org.apache.synapse.commons.staxon.core.json.JsonXMLStreamWriter.ScopeInfo>prefix - namespace prefixnamespaceURI - namespace URIjavax.xml.stream.XMLStreamExceptionprotected void writeData(java.lang.Object data,
int type)
throws javax.xml.stream.XMLStreamException
AbstractXMLStreamWriterwriteData in class AbstractXMLStreamWriter<org.apache.synapse.commons.staxon.core.json.JsonXMLStreamWriter.ScopeInfo>data - text/datatype - one of CHARACTERS, COMMENT, CDATA, DTD, ENTITY_REFERENCE, SPACEjavax.xml.stream.XMLStreamExceptionpublic void writeStartDocument(java.lang.String encoding,
java.lang.String version)
throws javax.xml.stream.XMLStreamException
writeStartDocument in interface javax.xml.stream.XMLStreamWriterwriteStartDocument in class AbstractXMLStreamWriter<org.apache.synapse.commons.staxon.core.json.JsonXMLStreamWriter.ScopeInfo>javax.xml.stream.XMLStreamExceptionpublic void writeEndDocument()
throws javax.xml.stream.XMLStreamException
writeEndDocument in interface javax.xml.stream.XMLStreamWriterwriteEndDocument in class AbstractXMLStreamWriter<org.apache.synapse.commons.staxon.core.json.JsonXMLStreamWriter.ScopeInfo>javax.xml.stream.XMLStreamExceptionpublic void writeStartArray(java.lang.String fieldName)
throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamExceptionpublic void writeEndArray()
throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamExceptionpublic void close()
throws javax.xml.stream.XMLStreamException
close in interface javax.xml.stream.XMLStreamWriterclose in class AbstractXMLStreamWriter<org.apache.synapse.commons.staxon.core.json.JsonXMLStreamWriter.ScopeInfo>javax.xml.stream.XMLStreamExceptionpublic void flush()
throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamExceptionprotected void writePI(java.lang.String target,
java.lang.String data)
throws javax.xml.stream.XMLStreamException
AbstractXMLStreamWriterwritePI in class AbstractXMLStreamWriter<org.apache.synapse.commons.staxon.core.json.JsonXMLStreamWriter.ScopeInfo>target - PI targetdata - PI data (may be null)javax.xml.stream.XMLStreamExceptionpublic void writeNumber(java.lang.Number value)
throws javax.xml.stream.XMLStreamException
value - javax.xml.stream.XMLStreamExceptionpublic void writeBoolean(java.lang.Boolean value)
throws javax.xml.stream.XMLStreamException
value - javax.xml.stream.XMLStreamExceptionCopyright © 2005-2021 Apache Software Foundation. All Rights Reserved.