Class XmlTokenStream
- java.lang.Object
-
- com.fasterxml.jackson.dataformat.xml.deser.XmlTokenStream
-
public class XmlTokenStream extends Object
Simple helper class used on top of STAXXMLStreamReaderto further abstract out all irrelevant details, and to expose equivalent of flat token stream with no "fluff" tokens (comments, processing instructions, mixed content) all of which is just to simplify actual higher-level conversion to JSON tokens
-
-
Field Summary
Fields Modifier and Type Field Description protected int_attributeCountprotected int_currentStateprotected com.fasterxml.jackson.dataformat.xml.deser.ElementWrapper_currentWrapperWrapping state, if any active (null if none)protected int_formatFeaturesBit flag composed of bits that indicate whichFromXmlParser.Features are enabled.protected String_localNameprotected boolean_mixedTextIf true we have a START_ELEMENT with mixed textprotected String_namespaceURIprotected int_nextAttributeIndexIndex of the next attribute of the current START_ELEMENT to return (as field name and value pair), if any; -1 when no attributes to returnprotected String_nextLocalNameIn cases where we need to 'inject' a virtual END_ELEMENT, we may also need to restore START_ELEMENT afterwards; if so, this is where names are held.protected String_nextNamespaceURIprotected int_repeatElementFlag used to indicate that given element should be "replayed".protected Object_sourceReferenceprotected String_textValueprotected org.codehaus.stax2.XMLStreamReader2_xmlReaderstatic intXML_ATTRIBUTE_NAMEstatic intXML_ATTRIBUTE_VALUEstatic intXML_ENDstatic intXML_END_ELEMENTstatic intXML_START_ELEMENTstatic intXML_TEXT
-
Constructor Summary
Constructors Constructor Description XmlTokenStream(XMLStreamReader xmlReader, Object sourceRef, int formatFeatures)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean_allWs(String str)protected int_handleRepeatElement()Method called to handle details of repeating "virtual" start/end elements, needed for handling 'unwrapped' lists.voidclose()voidcloseCompletely()protected StringconvertToString()com.fasterxml.jackson.core.JsonLocationgetCurrentLocation()intgetCurrentToken()StringgetLocalName()StringgetNamespaceURI()StringgetText()com.fasterxml.jackson.core.JsonLocationgetTokenLocation()org.codehaus.stax2.XMLStreamReader2getXmlReader()booleanhasAttributes()intnext()protected voidrepeatStartElement()Method used to add virtual wrapping, which just duplicates START_ELEMENT stream points to, and its matching closing element.protected voidsetFormatFeatures(int f)protected voidskipAttributes()Method called to skip any attributes current START_ELEMENT may have, so that they are not returned as token.voidskipEndElement()StringtoString()
-
-
-
Field Detail
-
XML_START_ELEMENT
public static final int XML_START_ELEMENT
- See Also:
- Constant Field Values
-
XML_END_ELEMENT
public static final int XML_END_ELEMENT
- See Also:
- Constant Field Values
-
XML_ATTRIBUTE_NAME
public static final int XML_ATTRIBUTE_NAME
- See Also:
- Constant Field Values
-
XML_ATTRIBUTE_VALUE
public static final int XML_ATTRIBUTE_VALUE
- See Also:
- Constant Field Values
-
XML_TEXT
public static final int XML_TEXT
- See Also:
- Constant Field Values
-
XML_END
public static final int XML_END
- See Also:
- Constant Field Values
-
_xmlReader
protected final org.codehaus.stax2.XMLStreamReader2 _xmlReader
-
_sourceReference
protected final Object _sourceReference
-
_formatFeatures
protected int _formatFeatures
Bit flag composed of bits that indicate whichFromXmlParser.Features are enabled.
-
_currentState
protected int _currentState
-
_attributeCount
protected int _attributeCount
-
_mixedText
protected boolean _mixedText
If true we have a START_ELEMENT with mixed text- Since:
- 2.8
-
_nextAttributeIndex
protected int _nextAttributeIndex
Index of the next attribute of the current START_ELEMENT to return (as field name and value pair), if any; -1 when no attributes to return
-
_localName
protected String _localName
-
_namespaceURI
protected String _namespaceURI
-
_textValue
protected String _textValue
-
_repeatElement
protected int _repeatElement
Flag used to indicate that given element should be "replayed".
-
_currentWrapper
protected com.fasterxml.jackson.dataformat.xml.deser.ElementWrapper _currentWrapper
Wrapping state, if any active (null if none)
-
_nextLocalName
protected String _nextLocalName
In cases where we need to 'inject' a virtual END_ELEMENT, we may also need to restore START_ELEMENT afterwards; if so, this is where names are held.
-
_nextNamespaceURI
protected String _nextNamespaceURI
-
-
Constructor Detail
-
XmlTokenStream
public XmlTokenStream(XMLStreamReader xmlReader, Object sourceRef, int formatFeatures)
-
-
Method Detail
-
getXmlReader
public org.codehaus.stax2.XMLStreamReader2 getXmlReader()
-
setFormatFeatures
protected void setFormatFeatures(int f)
- Since:
- 2.9
-
next
public int next() throws XMLStreamException- Throws:
XMLStreamException
-
skipEndElement
public void skipEndElement() throws IOException, XMLStreamException- Throws:
IOExceptionXMLStreamException
-
getCurrentToken
public int getCurrentToken()
-
getText
public String getText()
-
getLocalName
public String getLocalName()
-
getNamespaceURI
public String getNamespaceURI()
-
hasAttributes
public boolean hasAttributes()
-
closeCompletely
public void closeCompletely() throws XMLStreamException- Throws:
XMLStreamException
-
close
public void close() throws XMLStreamException- Throws:
XMLStreamException
-
getCurrentLocation
public com.fasterxml.jackson.core.JsonLocation getCurrentLocation()
-
getTokenLocation
public com.fasterxml.jackson.core.JsonLocation getTokenLocation()
-
repeatStartElement
protected void repeatStartElement()
Method used to add virtual wrapping, which just duplicates START_ELEMENT stream points to, and its matching closing element.- Since:
- 2.1
-
skipAttributes
protected void skipAttributes()
Method called to skip any attributes current START_ELEMENT may have, so that they are not returned as token.- Since:
- 2.1
-
convertToString
protected String convertToString() throws XMLStreamException
- Throws:
XMLStreamException
-
_handleRepeatElement
protected int _handleRepeatElement() throws XMLStreamExceptionMethod called to handle details of repeating "virtual" start/end elements, needed for handling 'unwrapped' lists.- Throws:
XMLStreamException
-
_allWs
protected boolean _allWs(String str)
-
-