public class TreeTraversingParser
extends com.fasterxml.jackson.core.base.ParserMinimalBase
JsonNode
that implements JsonParser
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.Modifier and Type | Field and Description |
---|---|
protected boolean |
_closed
Flag that indicates whether parser is closed or not.
|
protected com.fasterxml.jackson.core.JsonToken |
_nextToken
Sometimes parser needs to buffer a single look-ahead token; if so,
it'll be stored here.
|
protected NodeCursor |
_nodeCursor
Traversal context within tree
|
protected com.fasterxml.jackson.core.ObjectCodec |
_objectCodec |
protected boolean |
_startContainer
Flag needed to handle recursion into contents of child
Array/Object nodes.
|
Constructor and Description |
---|
TreeTraversingParser(JsonNode n) |
TreeTraversingParser(JsonNode n,
com.fasterxml.jackson.core.ObjectCodec codec) |
Modifier and Type | Method and 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() |
java.lang.String |
getText() |
char[] |
getTextCharacters() |
int |
getTextLength() |
int |
getTextOffset() |
com.fasterxml.jackson.core.JsonLocation |
getTokenLocation() |
boolean |
hasTextCharacters() |
boolean |
isClosed() |
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() |
_ascii, _asciiBytes, _constructError, _decodeBase64, _getCharDesc, _handleUnrecognizedCharacterEscape, _hasTextualNull, _reportError, _reportInvalidEOF, _reportInvalidEOF, _reportInvalidEOFInValue, _reportMissingRootWS, _reportUnexpectedChar, _throwInternal, _throwInvalidSpace, _throwUnquotedSpace, _wrapError, clearCurrentToken, getCurrentToken, getCurrentTokenId, getLastClearedToken, getValueAsBoolean, getValueAsDouble, getValueAsInt, getValueAsInt, getValueAsLong, getValueAsLong, getValueAsString, getValueAsString, hasCurrentToken, hasToken, hasTokenId, isExpectedStartArrayToken, isExpectedStartObjectToken, nextValue
_codec, _constructError, _reportUnsupportedOperation, canReadObjectId, canReadTypeId, canUseSchema, configure, disable, enable, getBinaryValue, getBooleanValue, getByteValue, getCurrentValue, getFeatureMask, getFormatFeatures, getInputSource, getObjectId, getSchema, getShortValue, getTypeId, getValueAsBoolean, getValueAsDouble, isEnabled, nextBooleanValue, nextFieldName, nextFieldName, nextIntValue, nextLongValue, nextTextValue, overrideFormatFeatures, overrideStdFeatures, readBinaryValue, readValueAs, readValueAs, readValueAsTree, readValuesAs, readValuesAs, releaseBuffered, releaseBuffered, requiresCustomCodec, setCurrentValue, setFeatureMask, setSchema
protected com.fasterxml.jackson.core.ObjectCodec _objectCodec
protected NodeCursor _nodeCursor
protected com.fasterxml.jackson.core.JsonToken _nextToken
protected boolean _startContainer
protected boolean _closed
close()
) or when end-of-input is reached.public TreeTraversingParser(JsonNode n)
public TreeTraversingParser(JsonNode n, com.fasterxml.jackson.core.ObjectCodec codec)
public void setCodec(com.fasterxml.jackson.core.ObjectCodec c)
setCodec
in class com.fasterxml.jackson.core.JsonParser
public com.fasterxml.jackson.core.ObjectCodec getCodec()
getCodec
in class com.fasterxml.jackson.core.JsonParser
public com.fasterxml.jackson.core.Version version()
version
in interface com.fasterxml.jackson.core.Versioned
version
in class com.fasterxml.jackson.core.JsonParser
public void close() throws java.io.IOException
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
close
in class com.fasterxml.jackson.core.base.ParserMinimalBase
java.io.IOException
public com.fasterxml.jackson.core.JsonToken nextToken() throws java.io.IOException, com.fasterxml.jackson.core.JsonParseException
nextToken
in class com.fasterxml.jackson.core.base.ParserMinimalBase
java.io.IOException
com.fasterxml.jackson.core.JsonParseException
public com.fasterxml.jackson.core.JsonParser skipChildren() throws java.io.IOException, com.fasterxml.jackson.core.JsonParseException
skipChildren
in class com.fasterxml.jackson.core.base.ParserMinimalBase
java.io.IOException
com.fasterxml.jackson.core.JsonParseException
public boolean isClosed()
isClosed
in class com.fasterxml.jackson.core.base.ParserMinimalBase
public java.lang.String getCurrentName()
getCurrentName
in class com.fasterxml.jackson.core.base.ParserMinimalBase
public void overrideCurrentName(java.lang.String name)
overrideCurrentName
in class com.fasterxml.jackson.core.base.ParserMinimalBase
public com.fasterxml.jackson.core.JsonStreamContext getParsingContext()
getParsingContext
in class com.fasterxml.jackson.core.base.ParserMinimalBase
public com.fasterxml.jackson.core.JsonLocation getTokenLocation()
getTokenLocation
in class com.fasterxml.jackson.core.JsonParser
public com.fasterxml.jackson.core.JsonLocation getCurrentLocation()
getCurrentLocation
in class com.fasterxml.jackson.core.JsonParser
public java.lang.String getText()
getText
in class com.fasterxml.jackson.core.base.ParserMinimalBase
public char[] getTextCharacters() throws java.io.IOException, com.fasterxml.jackson.core.JsonParseException
getTextCharacters
in class com.fasterxml.jackson.core.base.ParserMinimalBase
java.io.IOException
com.fasterxml.jackson.core.JsonParseException
public int getTextLength() throws java.io.IOException, com.fasterxml.jackson.core.JsonParseException
getTextLength
in class com.fasterxml.jackson.core.base.ParserMinimalBase
java.io.IOException
com.fasterxml.jackson.core.JsonParseException
public int getTextOffset() throws java.io.IOException, com.fasterxml.jackson.core.JsonParseException
getTextOffset
in class com.fasterxml.jackson.core.base.ParserMinimalBase
java.io.IOException
com.fasterxml.jackson.core.JsonParseException
public boolean hasTextCharacters()
hasTextCharacters
in class com.fasterxml.jackson.core.base.ParserMinimalBase
public com.fasterxml.jackson.core.JsonParser.NumberType getNumberType() throws java.io.IOException, com.fasterxml.jackson.core.JsonParseException
getNumberType
in class com.fasterxml.jackson.core.JsonParser
java.io.IOException
com.fasterxml.jackson.core.JsonParseException
public java.math.BigInteger getBigIntegerValue() throws java.io.IOException, com.fasterxml.jackson.core.JsonParseException
getBigIntegerValue
in class com.fasterxml.jackson.core.JsonParser
java.io.IOException
com.fasterxml.jackson.core.JsonParseException
public java.math.BigDecimal getDecimalValue() throws java.io.IOException, com.fasterxml.jackson.core.JsonParseException
getDecimalValue
in class com.fasterxml.jackson.core.JsonParser
java.io.IOException
com.fasterxml.jackson.core.JsonParseException
public double getDoubleValue() throws java.io.IOException, com.fasterxml.jackson.core.JsonParseException
getDoubleValue
in class com.fasterxml.jackson.core.JsonParser
java.io.IOException
com.fasterxml.jackson.core.JsonParseException
public float getFloatValue() throws java.io.IOException, com.fasterxml.jackson.core.JsonParseException
getFloatValue
in class com.fasterxml.jackson.core.JsonParser
java.io.IOException
com.fasterxml.jackson.core.JsonParseException
public long getLongValue() throws java.io.IOException, com.fasterxml.jackson.core.JsonParseException
getLongValue
in class com.fasterxml.jackson.core.JsonParser
java.io.IOException
com.fasterxml.jackson.core.JsonParseException
public int getIntValue() throws java.io.IOException, com.fasterxml.jackson.core.JsonParseException
getIntValue
in class com.fasterxml.jackson.core.JsonParser
java.io.IOException
com.fasterxml.jackson.core.JsonParseException
public java.lang.Number getNumberValue() throws java.io.IOException, com.fasterxml.jackson.core.JsonParseException
getNumberValue
in class com.fasterxml.jackson.core.JsonParser
java.io.IOException
com.fasterxml.jackson.core.JsonParseException
public java.lang.Object getEmbeddedObject()
getEmbeddedObject
in class com.fasterxml.jackson.core.JsonParser
public byte[] getBinaryValue(com.fasterxml.jackson.core.Base64Variant b64variant) throws java.io.IOException, com.fasterxml.jackson.core.JsonParseException
getBinaryValue
in class com.fasterxml.jackson.core.base.ParserMinimalBase
java.io.IOException
com.fasterxml.jackson.core.JsonParseException
public int readBinaryValue(com.fasterxml.jackson.core.Base64Variant b64variant, java.io.OutputStream out) throws java.io.IOException, com.fasterxml.jackson.core.JsonParseException
readBinaryValue
in class com.fasterxml.jackson.core.JsonParser
java.io.IOException
com.fasterxml.jackson.core.JsonParseException
protected JsonNode currentNode()
protected JsonNode currentNumericNode() throws com.fasterxml.jackson.core.JsonParseException
com.fasterxml.jackson.core.JsonParseException
protected void _handleEOF() throws com.fasterxml.jackson.core.JsonParseException
_handleEOF
in class com.fasterxml.jackson.core.base.ParserMinimalBase
com.fasterxml.jackson.core.JsonParseException