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,Closeable,AutoCloseable
public class TreeTraversingParser extends com.fasterxml.jackson.core.base.ParserMinimalBaseFacade overJsonNodethat implementsJsonParserto 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_closedFlag that indicates whether parser is closed or not.protected com.fasterxml.jackson.core.JsonToken_nextTokenSometimes parser needs to buffer a single look-ahead token; if so, it'll be stored here.protected com.fasterxml.jackson.databind.node.NodeCursor_nodeCursorTraversal context within treeprotected com.fasterxml.jackson.core.ObjectCodec_objectCodecprotected boolean_startContainerFlag needed to handle recursion into contents of child Array/Object nodes.-
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()voidclose()protected JsonNodecurrentNode()protected JsonNodecurrentNumericNode()BigIntegergetBigIntegerValue()byte[]getBinaryValue(com.fasterxml.jackson.core.Base64Variant b64variant)com.fasterxml.jackson.core.ObjectCodecgetCodec()com.fasterxml.jackson.core.JsonLocationgetCurrentLocation()StringgetCurrentName()BigDecimalgetDecimalValue()doublegetDoubleValue()ObjectgetEmbeddedObject()floatgetFloatValue()intgetIntValue()longgetLongValue()com.fasterxml.jackson.core.JsonParser.NumberTypegetNumberType()NumbergetNumberValue()com.fasterxml.jackson.core.JsonStreamContextgetParsingContext()StringgetText()char[]getTextCharacters()intgetTextLength()intgetTextOffset()com.fasterxml.jackson.core.JsonLocationgetTokenLocation()booleanhasTextCharacters()booleanisClosed()booleanisNaN()com.fasterxml.jackson.core.JsonTokennextToken()voidoverrideCurrentName(String name)intreadBinaryValue(com.fasterxml.jackson.core.Base64Variant b64variant, OutputStream out)voidsetCodec(com.fasterxml.jackson.core.ObjectCodec c)com.fasterxml.jackson.core.JsonParserskipChildren()com.fasterxml.jackson.core.Versionversion()-
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, 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, 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
-
_nextToken
protected com.fasterxml.jackson.core.JsonToken _nextToken
Sometimes parser needs to buffer a single look-ahead token; if so, it'll be stored here. This is currently used for handling
-
_startContainer
protected boolean _startContainer
Flag needed to handle recursion into contents of child Array/Object nodes.
-
_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:
setCodecin classcom.fasterxml.jackson.core.JsonParser
-
getCodec
public com.fasterxml.jackson.core.ObjectCodec getCodec()
- Specified by:
getCodecin classcom.fasterxml.jackson.core.JsonParser
-
version
public com.fasterxml.jackson.core.Version version()
- Specified by:
versionin interfacecom.fasterxml.jackson.core.Versioned- Specified by:
versionin classcom.fasterxml.jackson.core.JsonParser
-
close
public void close() throws IOException- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein classcom.fasterxml.jackson.core.base.ParserMinimalBase- Throws:
IOException
-
nextToken
public com.fasterxml.jackson.core.JsonToken nextToken() throws IOException, com.fasterxml.jackson.core.JsonParseException- Specified by:
nextTokenin classcom.fasterxml.jackson.core.base.ParserMinimalBase- Throws:
IOExceptioncom.fasterxml.jackson.core.JsonParseException
-
skipChildren
public com.fasterxml.jackson.core.JsonParser skipChildren() throws IOException, com.fasterxml.jackson.core.JsonParseException- Overrides:
skipChildrenin classcom.fasterxml.jackson.core.base.ParserMinimalBase- Throws:
IOExceptioncom.fasterxml.jackson.core.JsonParseException
-
isClosed
public boolean isClosed()
- Specified by:
isClosedin classcom.fasterxml.jackson.core.base.ParserMinimalBase
-
getCurrentName
public String getCurrentName()
- Specified by:
getCurrentNamein classcom.fasterxml.jackson.core.base.ParserMinimalBase
-
overrideCurrentName
public void overrideCurrentName(String name)
- Specified by:
overrideCurrentNamein classcom.fasterxml.jackson.core.base.ParserMinimalBase
-
getParsingContext
public com.fasterxml.jackson.core.JsonStreamContext getParsingContext()
- Specified by:
getParsingContextin classcom.fasterxml.jackson.core.base.ParserMinimalBase
-
getTokenLocation
public com.fasterxml.jackson.core.JsonLocation getTokenLocation()
- Specified by:
getTokenLocationin classcom.fasterxml.jackson.core.JsonParser
-
getCurrentLocation
public com.fasterxml.jackson.core.JsonLocation getCurrentLocation()
- Specified by:
getCurrentLocationin classcom.fasterxml.jackson.core.JsonParser
-
getText
public String getText()
- Specified by:
getTextin classcom.fasterxml.jackson.core.base.ParserMinimalBase
-
getTextCharacters
public char[] getTextCharacters() throws IOException, com.fasterxml.jackson.core.JsonParseException- Specified by:
getTextCharactersin classcom.fasterxml.jackson.core.base.ParserMinimalBase- Throws:
IOExceptioncom.fasterxml.jackson.core.JsonParseException
-
getTextLength
public int getTextLength() throws IOException, com.fasterxml.jackson.core.JsonParseException- Specified by:
getTextLengthin classcom.fasterxml.jackson.core.base.ParserMinimalBase- Throws:
IOExceptioncom.fasterxml.jackson.core.JsonParseException
-
getTextOffset
public int getTextOffset() throws IOException, com.fasterxml.jackson.core.JsonParseException- Specified by:
getTextOffsetin classcom.fasterxml.jackson.core.base.ParserMinimalBase- Throws:
IOExceptioncom.fasterxml.jackson.core.JsonParseException
-
hasTextCharacters
public boolean hasTextCharacters()
- Specified by:
hasTextCharactersin classcom.fasterxml.jackson.core.base.ParserMinimalBase
-
getNumberType
public com.fasterxml.jackson.core.JsonParser.NumberType getNumberType() throws IOException- Specified by:
getNumberTypein classcom.fasterxml.jackson.core.JsonParser- Throws:
IOException
-
getBigIntegerValue
public BigInteger getBigIntegerValue() throws IOException
- Specified by:
getBigIntegerValuein classcom.fasterxml.jackson.core.JsonParser- Throws:
IOException
-
getDecimalValue
public BigDecimal getDecimalValue() throws IOException
- Specified by:
getDecimalValuein classcom.fasterxml.jackson.core.JsonParser- Throws:
IOException
-
getDoubleValue
public double getDoubleValue() throws IOException- Specified by:
getDoubleValuein classcom.fasterxml.jackson.core.JsonParser- Throws:
IOException
-
getFloatValue
public float getFloatValue() throws IOException- Specified by:
getFloatValuein classcom.fasterxml.jackson.core.JsonParser- Throws:
IOException
-
getIntValue
public int getIntValue() throws IOException- Specified by:
getIntValuein classcom.fasterxml.jackson.core.JsonParser- Throws:
IOException
-
getLongValue
public long getLongValue() throws IOException- Specified by:
getLongValuein classcom.fasterxml.jackson.core.JsonParser- Throws:
IOException
-
getNumberValue
public Number getNumberValue() throws IOException
- Specified by:
getNumberValuein classcom.fasterxml.jackson.core.JsonParser- Throws:
IOException
-
getEmbeddedObject
public Object getEmbeddedObject()
- Overrides:
getEmbeddedObjectin classcom.fasterxml.jackson.core.JsonParser
-
isNaN
public boolean isNaN()
- Overrides:
isNaNin classcom.fasterxml.jackson.core.JsonParser
-
getBinaryValue
public byte[] getBinaryValue(com.fasterxml.jackson.core.Base64Variant b64variant) throws IOException, com.fasterxml.jackson.core.JsonParseException- Specified by:
getBinaryValuein classcom.fasterxml.jackson.core.base.ParserMinimalBase- Throws:
IOExceptioncom.fasterxml.jackson.core.JsonParseException
-
readBinaryValue
public int readBinaryValue(com.fasterxml.jackson.core.Base64Variant b64variant, OutputStream out) throws IOException, com.fasterxml.jackson.core.JsonParseException- Overrides:
readBinaryValuein classcom.fasterxml.jackson.core.JsonParser- Throws:
IOExceptioncom.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:
_handleEOFin classcom.fasterxml.jackson.core.base.ParserMinimalBase- Throws:
com.fasterxml.jackson.core.JsonParseException
-
-