Class TreeTraversingParser
- java.lang.Object
-
- com.fasterxml.jackson.core.JsonParser
-
- com.fasterxml.jackson.core.base.ParserMinimalBase
-
- com.fasterxml.jackson.databind.node.TreeTraversingParser
-
- All Implemented Interfaces:
com.fasterxml.jackson.core.Versioned
,java.io.Closeable
,java.lang.AutoCloseable
public class TreeTraversingParser extends com.fasterxml.jackson.core.base.ParserMinimalBase
Facade overJsonNode
that implementsJsonParser
to allow accessing contents of JSON tree in alternate form (stream of tokens). Useful when a streaming source is expected by code, such as data binding functionality.
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
_closed
Flag that indicates whether parser is closed or not.protected com.fasterxml.jackson.databind.node.NodeCursor
_nodeCursor
Traversal context within treeprotected com.fasterxml.jackson.core.ObjectCodec
_objectCodec
-
Fields inherited from class com.fasterxml.jackson.core.base.ParserMinimalBase
_currToken, _lastClearedToken, BD_MAX_INT, BD_MAX_LONG, BD_MIN_INT, BD_MIN_LONG, BI_MAX_INT, BI_MAX_LONG, BI_MIN_INT, BI_MIN_LONG, CHAR_NULL, INT_0, INT_9, INT_APOS, INT_ASTERISK, INT_BACKSLASH, INT_COLON, INT_COMMA, INT_CR, INT_e, INT_E, INT_HASH, INT_LBRACKET, INT_LCURLY, INT_LF, INT_MINUS, INT_PERIOD, INT_PLUS, INT_QUOTE, INT_RBRACKET, INT_RCURLY, INT_SLASH, INT_SPACE, INT_TAB, MAX_ERROR_TOKEN_LENGTH, MAX_INT_D, MAX_INT_L, MAX_LONG_D, MIN_INT_D, MIN_INT_L, MIN_LONG_D, NO_BYTES, NO_INTS, NR_BIGDECIMAL, NR_BIGINT, NR_DOUBLE, NR_FLOAT, NR_INT, NR_LONG, NR_UNKNOWN
-
-
Constructor Summary
Constructors Constructor Description TreeTraversingParser(JsonNode n)
TreeTraversingParser(JsonNode n, com.fasterxml.jackson.core.ObjectCodec codec)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
_handleEOF()
void
close()
protected JsonNode
currentNode()
protected JsonNode
currentNumericNode()
java.math.BigInteger
getBigIntegerValue()
byte[]
getBinaryValue(com.fasterxml.jackson.core.Base64Variant b64variant)
com.fasterxml.jackson.core.ObjectCodec
getCodec()
com.fasterxml.jackson.core.JsonLocation
getCurrentLocation()
java.lang.String
getCurrentName()
java.math.BigDecimal
getDecimalValue()
double
getDoubleValue()
java.lang.Object
getEmbeddedObject()
float
getFloatValue()
int
getIntValue()
long
getLongValue()
com.fasterxml.jackson.core.JsonParser.NumberType
getNumberType()
java.lang.Number
getNumberValue()
com.fasterxml.jackson.core.JsonStreamContext
getParsingContext()
com.fasterxml.jackson.core.util.JacksonFeatureSet<com.fasterxml.jackson.core.StreamReadCapability>
getReadCapabilities()
java.lang.String
getText()
char[]
getTextCharacters()
int
getTextLength()
int
getTextOffset()
com.fasterxml.jackson.core.JsonLocation
getTokenLocation()
boolean
hasTextCharacters()
boolean
isClosed()
boolean
isNaN()
com.fasterxml.jackson.core.JsonToken
nextToken()
void
overrideCurrentName(java.lang.String name)
int
readBinaryValue(com.fasterxml.jackson.core.Base64Variant b64variant, java.io.OutputStream out)
void
setCodec(com.fasterxml.jackson.core.ObjectCodec c)
com.fasterxml.jackson.core.JsonParser
skipChildren()
com.fasterxml.jackson.core.Version
version()
-
Methods inherited from class com.fasterxml.jackson.core.base.ParserMinimalBase
_ascii, _asciiBytes, _constructError, _decodeBase64, _getCharDesc, _hasTextualNull, _longIntegerDesc, _longNumberDesc, _reportError, _reportError, _reportError, _reportInputCoercion, _reportInvalidEOF, _reportInvalidEOF, _reportInvalidEOF, _reportInvalidEOFInValue, _reportInvalidEOFInValue, _reportMissingRootWS, _reportUnexpectedChar, _throwInternal, _throwInvalidSpace, _wrapError, clearCurrentToken, currentToken, currentTokenId, getCurrentToken, getCurrentTokenId, getLastClearedToken, getValueAsBoolean, getValueAsDouble, getValueAsInt, getValueAsInt, getValueAsLong, getValueAsLong, getValueAsString, getValueAsString, hasCurrentToken, hasToken, hasTokenId, isExpectedNumberIntToken, isExpectedStartArrayToken, isExpectedStartObjectToken, nextValue, reportInvalidNumber, reportOverflowInt, reportOverflowInt, reportOverflowInt, reportOverflowLong, reportOverflowLong, reportOverflowLong, reportUnexpectedNumberChar
-
Methods inherited from class com.fasterxml.jackson.core.JsonParser
_codec, _constructError, _reportUnsupportedOperation, canParseAsync, canReadObjectId, canReadTypeId, canUseSchema, configure, currentName, disable, enable, finishToken, getBinaryValue, getBooleanValue, getByteValue, getCurrentValue, getFeatureMask, getFormatFeatures, getInputSource, getNonBlockingInputFeeder, getNumberValueExact, getObjectId, getSchema, getShortValue, getText, getTypeId, getValueAsBoolean, getValueAsDouble, isEnabled, isEnabled, nextBooleanValue, nextFieldName, nextFieldName, nextIntValue, nextLongValue, nextTextValue, overrideFormatFeatures, overrideStdFeatures, readBinaryValue, readValueAs, readValueAs, readValueAsTree, readValuesAs, readValuesAs, releaseBuffered, releaseBuffered, requiresCustomCodec, setCurrentValue, setFeatureMask, setRequestPayloadOnError, setRequestPayloadOnError, setRequestPayloadOnError, setSchema
-
-
-
-
Field Detail
-
_objectCodec
protected com.fasterxml.jackson.core.ObjectCodec _objectCodec
-
_nodeCursor
protected com.fasterxml.jackson.databind.node.NodeCursor _nodeCursor
Traversal context within tree
-
_closed
protected boolean _closed
Flag that indicates whether parser is closed or not. Gets set when parser is either closed by explicit call (close()
) or when end-of-input is reached.
-
-
Method Detail
-
setCodec
public void setCodec(com.fasterxml.jackson.core.ObjectCodec c)
- Specified by:
setCodec
in classcom.fasterxml.jackson.core.JsonParser
-
getCodec
public com.fasterxml.jackson.core.ObjectCodec getCodec()
- Specified by:
getCodec
in classcom.fasterxml.jackson.core.JsonParser
-
version
public com.fasterxml.jackson.core.Version version()
- Specified by:
version
in interfacecom.fasterxml.jackson.core.Versioned
- Specified by:
version
in classcom.fasterxml.jackson.core.JsonParser
-
getReadCapabilities
public com.fasterxml.jackson.core.util.JacksonFeatureSet<com.fasterxml.jackson.core.StreamReadCapability> getReadCapabilities()
- Overrides:
getReadCapabilities
in classcom.fasterxml.jackson.core.JsonParser
-
close
public void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Specified by:
close
in classcom.fasterxml.jackson.core.base.ParserMinimalBase
- Throws:
java.io.IOException
-
nextToken
public com.fasterxml.jackson.core.JsonToken nextToken() throws java.io.IOException, com.fasterxml.jackson.core.JsonParseException
- Specified by:
nextToken
in classcom.fasterxml.jackson.core.base.ParserMinimalBase
- Throws:
java.io.IOException
com.fasterxml.jackson.core.JsonParseException
-
skipChildren
public com.fasterxml.jackson.core.JsonParser skipChildren() throws java.io.IOException
- Overrides:
skipChildren
in classcom.fasterxml.jackson.core.base.ParserMinimalBase
- Throws:
java.io.IOException
-
isClosed
public boolean isClosed()
- Specified by:
isClosed
in classcom.fasterxml.jackson.core.base.ParserMinimalBase
-
getCurrentName
public java.lang.String getCurrentName()
- Specified by:
getCurrentName
in classcom.fasterxml.jackson.core.base.ParserMinimalBase
-
overrideCurrentName
public void overrideCurrentName(java.lang.String name)
- Specified by:
overrideCurrentName
in classcom.fasterxml.jackson.core.base.ParserMinimalBase
-
getParsingContext
public com.fasterxml.jackson.core.JsonStreamContext getParsingContext()
- Specified by:
getParsingContext
in classcom.fasterxml.jackson.core.base.ParserMinimalBase
-
getTokenLocation
public com.fasterxml.jackson.core.JsonLocation getTokenLocation()
- Specified by:
getTokenLocation
in classcom.fasterxml.jackson.core.JsonParser
-
getCurrentLocation
public com.fasterxml.jackson.core.JsonLocation getCurrentLocation()
- Specified by:
getCurrentLocation
in classcom.fasterxml.jackson.core.JsonParser
-
getText
public java.lang.String getText()
- Specified by:
getText
in classcom.fasterxml.jackson.core.base.ParserMinimalBase
-
getTextCharacters
public char[] getTextCharacters() throws java.io.IOException, com.fasterxml.jackson.core.JsonParseException
- Specified by:
getTextCharacters
in classcom.fasterxml.jackson.core.base.ParserMinimalBase
- Throws:
java.io.IOException
com.fasterxml.jackson.core.JsonParseException
-
getTextLength
public int getTextLength() throws java.io.IOException, com.fasterxml.jackson.core.JsonParseException
- Specified by:
getTextLength
in classcom.fasterxml.jackson.core.base.ParserMinimalBase
- Throws:
java.io.IOException
com.fasterxml.jackson.core.JsonParseException
-
getTextOffset
public int getTextOffset() throws java.io.IOException, com.fasterxml.jackson.core.JsonParseException
- Specified by:
getTextOffset
in classcom.fasterxml.jackson.core.base.ParserMinimalBase
- Throws:
java.io.IOException
com.fasterxml.jackson.core.JsonParseException
-
hasTextCharacters
public boolean hasTextCharacters()
- Specified by:
hasTextCharacters
in classcom.fasterxml.jackson.core.base.ParserMinimalBase
-
getNumberType
public com.fasterxml.jackson.core.JsonParser.NumberType getNumberType() throws java.io.IOException
- Specified by:
getNumberType
in classcom.fasterxml.jackson.core.JsonParser
- Throws:
java.io.IOException
-
getBigIntegerValue
public java.math.BigInteger getBigIntegerValue() throws java.io.IOException
- Specified by:
getBigIntegerValue
in classcom.fasterxml.jackson.core.JsonParser
- Throws:
java.io.IOException
-
getDecimalValue
public java.math.BigDecimal getDecimalValue() throws java.io.IOException
- Specified by:
getDecimalValue
in classcom.fasterxml.jackson.core.JsonParser
- Throws:
java.io.IOException
-
getDoubleValue
public double getDoubleValue() throws java.io.IOException
- Specified by:
getDoubleValue
in classcom.fasterxml.jackson.core.JsonParser
- Throws:
java.io.IOException
-
getFloatValue
public float getFloatValue() throws java.io.IOException
- Specified by:
getFloatValue
in classcom.fasterxml.jackson.core.JsonParser
- Throws:
java.io.IOException
-
getIntValue
public int getIntValue() throws java.io.IOException
- Specified by:
getIntValue
in classcom.fasterxml.jackson.core.JsonParser
- Throws:
java.io.IOException
-
getLongValue
public long getLongValue() throws java.io.IOException
- Specified by:
getLongValue
in classcom.fasterxml.jackson.core.JsonParser
- Throws:
java.io.IOException
-
getNumberValue
public java.lang.Number getNumberValue() throws java.io.IOException
- Specified by:
getNumberValue
in classcom.fasterxml.jackson.core.JsonParser
- Throws:
java.io.IOException
-
getEmbeddedObject
public java.lang.Object getEmbeddedObject()
- Overrides:
getEmbeddedObject
in classcom.fasterxml.jackson.core.JsonParser
-
isNaN
public boolean isNaN()
- Overrides:
isNaN
in classcom.fasterxml.jackson.core.JsonParser
-
getBinaryValue
public byte[] getBinaryValue(com.fasterxml.jackson.core.Base64Variant b64variant) throws java.io.IOException, com.fasterxml.jackson.core.JsonParseException
- Specified by:
getBinaryValue
in classcom.fasterxml.jackson.core.base.ParserMinimalBase
- Throws:
java.io.IOException
com.fasterxml.jackson.core.JsonParseException
-
readBinaryValue
public int readBinaryValue(com.fasterxml.jackson.core.Base64Variant b64variant, java.io.OutputStream out) throws java.io.IOException, com.fasterxml.jackson.core.JsonParseException
- Overrides:
readBinaryValue
in classcom.fasterxml.jackson.core.JsonParser
- Throws:
java.io.IOException
com.fasterxml.jackson.core.JsonParseException
-
currentNode
protected JsonNode currentNode()
-
currentNumericNode
protected JsonNode currentNumericNode() throws com.fasterxml.jackson.core.JsonParseException
- Throws:
com.fasterxml.jackson.core.JsonParseException
-
_handleEOF
protected void _handleEOF() throws com.fasterxml.jackson.core.JsonParseException
- Specified by:
_handleEOF
in classcom.fasterxml.jackson.core.base.ParserMinimalBase
- Throws:
com.fasterxml.jackson.core.JsonParseException
-
-