Class JsonXMLStreamReader
- java.lang.Object
-
- org.apache.synapse.commons.staxon.core.base.AbstractXMLStreamReader<org.apache.synapse.commons.staxon.core.json.JsonXMLStreamReader.ScopeInfo>
-
- org.apache.synapse.commons.staxon.core.json.JsonXMLStreamReader
-
- All Implemented Interfaces:
XMLStreamConstants
,XMLStreamReader
public class JsonXMLStreamReader extends AbstractXMLStreamReader<org.apache.synapse.commons.staxon.core.json.JsonXMLStreamReader.ScopeInfo>
JSON XML stream reader.Limitations
- Mixed content (e.g.
<alice>bob<edgar/></alice>
) is not supported.
The reader may produce processing instructions
<?xml-multiple element-name?>
to indicate array starts ('['
).
-
-
Field Summary
-
Fields inherited from interface javax.xml.stream.XMLStreamConstants
ATTRIBUTE, CDATA, CHARACTERS, COMMENT, DTD, END_DOCUMENT, END_ELEMENT, ENTITY_DECLARATION, ENTITY_REFERENCE, NAMESPACE, NOTATION_DECLARATION, PROCESSING_INSTRUCTION, SPACE, START_DOCUMENT, START_ELEMENT
-
-
Constructor Summary
Constructors Constructor Description JsonXMLStreamReader(JsonStreamSource source, boolean multiplePI, char namespaceSeparator)
Create reader instance.JsonXMLStreamReader(JsonStreamSource source, boolean multiplePI, char namespaceSeparator, boolean xmlNilReadWriteEnabled)
Create reader instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
protected boolean
consume()
Main method to be implemented by subclasses.Boolean
getBoolean()
Number
getNumber()
boolean
hasBoolean()
boolean
hasNumber()
-
Methods inherited from class org.apache.synapse.commons.staxon.core.base.AbstractXMLStreamReader
getAttributeCount, getAttributeLocalName, getAttributeName, getAttributeNamespace, getAttributePrefix, getAttributeType, getAttributeValue, getAttributeValue, getCharacterEncodingScheme, getElementText, getEncoding, getEventData, getEventName, getEventType, getLocalName, getLocation, getName, getNamespaceContext, getNamespaceCount, getNamespacePrefix, getNamespaceURI, getNamespaceURI, getNamespaceURI, getPIData, getPITarget, getPrefix, getProperty, getScope, getText, getTextCharacters, getTextCharacters, getTextLength, getTextStart, getVersion, hasName, hasNext, hasText, initialize, isAttributeSpecified, isCharacters, isEndElement, isStandalone, isStartDocumentRead, isStartElement, isWhiteSpace, next, nextTag, readAttr, readData, readEndDocument, readEndElementTag, readNsDecl, readPI, readStartDocument, readStartElementTag, require, standaloneSet, toString
-
-
-
-
Constructor Detail
-
JsonXMLStreamReader
public JsonXMLStreamReader(JsonStreamSource source, boolean multiplePI, char namespaceSeparator) throws XMLStreamException
Create reader instance.- Parameters:
source
- stream sourcemultiplePI
- whether to produce<xml-multiple?>
PIs to signal array startnamespaceSeparator
- namespace prefix separator- Throws:
XMLStreamException
-
JsonXMLStreamReader
public JsonXMLStreamReader(JsonStreamSource source, boolean multiplePI, char namespaceSeparator, boolean xmlNilReadWriteEnabled) throws XMLStreamException
Create reader instance.- Parameters:
source
- stream sourcemultiplePI
- whether to produce<xml-multiple?>
PIs to signal array startnamespaceSeparator
- namespace prefix separatorxmlNilReadWriteEnabled
- 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.- Throws:
XMLStreamException
-
-
Method Detail
-
consume
protected boolean consume() throws XMLStreamException, IOException
Description copied from class:AbstractXMLStreamReader
Main method to be implemented by subclasses. This method is called by the reader when the event queue runs dry. Consume some events and delegate to the variousreadXXX()
methods. When encountering an element start event, all attributes and namespace delarations must be consumed too, otherwise these won't be available during start element.- Specified by:
consume
in classAbstractXMLStreamReader<org.apache.synapse.commons.staxon.core.json.JsonXMLStreamReader.ScopeInfo>
- Returns:
true
if there's more to read- Throws:
XMLStreamException
IOException
-
hasNumber
public boolean hasNumber()
- Returns:
true
iff the current event data is a number primitive
-
getNumber
public Number getNumber()
- Returns:
- number primitive
- Throws:
ClassCastException
-
hasBoolean
public boolean hasBoolean()
- Returns:
true
iff the current event data is a boolean primitive
-
getBoolean
public Boolean getBoolean()
- Returns:
- boolean primitive
- Throws:
ClassCastException
-
close
public void close() throws XMLStreamException
- Specified by:
close
in interfaceXMLStreamReader
- Overrides:
close
in classAbstractXMLStreamReader<org.apache.synapse.commons.staxon.core.json.JsonXMLStreamReader.ScopeInfo>
- Throws:
XMLStreamException
-
-