com.fasterxml.jackson.databind.node

## 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 over `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.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class com.fasterxml.jackson.core.JsonParser

      `com.fasterxml.jackson.core.JsonParser.Feature, com.fasterxml.jackson.core.JsonParser.NumberType`

  - ### Field Summary

    Fields
    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 com.fasterxml.jackson.databind.node.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.

    - ### Fields inherited from class com.fasterxml.jackson.core.base.ParserMinimalBase

      `_currToken, _lastClearedToken, INT_BACKSLASH, INT_COLON, INT_COMMA, INT_CR, INT_e, INT_E, INT_HASH, INT_LBRACKET, INT_LCURLY, INT_LF, INT_PERIOD, INT_QUOTE, INT_RBRACKET, INT_RCURLY, INT_SLASH, INT_SPACE, INT_TAB`

    - ### Fields inherited from class com.fasterxml.jackson.core.JsonParser

      `_features, _requestPayload`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TreeTraversingParser(JsonNode n)`
    `TreeTraversingParser(JsonNode n, com.fasterxml.jackson.core.ObjectCodec codec)`

  - ### Method Summary

    Methods
    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()`

    - ### Methods inherited from class com.fasterxml.jackson.core.base.ParserMinimalBase

      `_ascii, _asciiBytes, _constructError, _decodeBase64, _getCharDesc, _handleUnrecognizedCharacterEscape, _hasTextualNull, _reportError, _reportInvalidEOF, _reportInvalidEOF, _reportInvalidEOF, _reportInvalidEOFInValue, _reportInvalidEOFInValue, _reportMissingRootWS, _reportUnexpectedChar, _throwInternal, _throwInvalidSpace, _throwUnquotedSpace, _wrapError, clearCurrentToken, currentToken, currentTokenId, getCurrentToken, getCurrentTokenId, getLastClearedToken, getValueAsBoolean, getValueAsDouble, getValueAsInt, getValueAsInt, getValueAsLong, getValueAsLong, getValueAsString, getValueAsString, hasCurrentToken, hasToken, hasTokenId, isExpectedStartArrayToken, isExpectedStartObjectToken, nextValue`

    - ### Methods inherited from class com.fasterxml.jackson.core.JsonParser

      `_codec, _constructError, _reportUnsupportedOperation, canReadObjectId, canReadTypeId, canUseSchema, configure, disable, enable, finishToken, getBinaryValue, getBooleanValue, getByteValue, getCurrentValue, getFeatureMask, getFormatFeatures, getInputSource, getObjectId, getSchema, getShortValue, getText, getTypeId, getValueAsBoolean, getValueAsDouble, isEnabled, nextBooleanValue, nextFieldName, nextFieldName, nextIntValue, nextLongValue, nextTextValue, overrideFormatFeatures, overrideStdFeatures, readBinaryValue, readValueAs, readValueAs, readValueAsTree, readValuesAs, readValuesAs, releaseBuffered, releaseBuffered, requiresCustomCodec, setCurrentValue, setFeatureMask, setRequestPayloadOnError, setRequestPayloadOnError, setRequestPayloadOnError, setSchema`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 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.

  - ### Constructor Detail

    - #### TreeTraversingParser

          public TreeTraversingParser(JsonNode n)

    - #### TreeTraversingParser

          public TreeTraversingParser(JsonNode n,
                              com.fasterxml.jackson.core.ObjectCodec codec)

  - ### Method Detail

    - #### setCodec

          public void setCodec(com.fasterxml.jackson.core.ObjectCodec c)

      Specified by:
        `setCodec` in class `com.fasterxml.jackson.core.JsonParser`

    - #### getCodec

          public com.fasterxml.jackson.core.ObjectCodec getCodec()

      Specified by:
        `getCodec` in class `com.fasterxml.jackson.core.JsonParser`

    - #### version

          public com.fasterxml.jackson.core.Version version()

      Specified by:
        `version` in interface `com.fasterxml.jackson.core.Versioned`
      Specified by:
        `version` in class `com.fasterxml.jackson.core.JsonParser`

    - #### close

          public void close()
                     throws java.io.IOException

      Specified by:
        `close` in interface `java.io.Closeable`
      Specified by:
        `close` in interface `java.lang.AutoCloseable`
      Specified by:
        `close` in class `com.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 class `com.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,
                                                                    com.fasterxml.jackson.core.JsonParseException

      Overrides:
        `skipChildren` in class `com.fasterxml.jackson.core.base.ParserMinimalBase`
      Throws:
        `java.io.IOException`
        `com.fasterxml.jackson.core.JsonParseException`

    - #### isClosed

          public boolean isClosed()

      Specified by:
        `isClosed` in class `com.fasterxml.jackson.core.base.ParserMinimalBase`

    - #### getCurrentName

          public java.lang.String getCurrentName()

      Specified by:
        `getCurrentName` in class `com.fasterxml.jackson.core.base.ParserMinimalBase`

    - #### overrideCurrentName

          public void overrideCurrentName(java.lang.String name)

      Specified by:
        `overrideCurrentName` in class `com.fasterxml.jackson.core.base.ParserMinimalBase`

    - #### getParsingContext

          public com.fasterxml.jackson.core.JsonStreamContext getParsingContext()

      Specified by:
        `getParsingContext` in class `com.fasterxml.jackson.core.base.ParserMinimalBase`

    - #### getTokenLocation

          public com.fasterxml.jackson.core.JsonLocation getTokenLocation()

      Specified by:
        `getTokenLocation` in class `com.fasterxml.jackson.core.JsonParser`

    - #### getCurrentLocation

          public com.fasterxml.jackson.core.JsonLocation getCurrentLocation()

      Specified by:
        `getCurrentLocation` in class `com.fasterxml.jackson.core.JsonParser`

    - #### getText

          public java.lang.String getText()

      Specified by:
        `getText` in class `com.fasterxml.jackson.core.base.ParserMinimalBase`

    - #### getTextCharacters

          public char[] getTextCharacters()
                                   throws java.io.IOException,
                                          com.fasterxml.jackson.core.JsonParseException

      Specified by:
        `getTextCharacters` in class `com.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 class `com.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 class `com.fasterxml.jackson.core.base.ParserMinimalBase`
      Throws:
        `java.io.IOException`
        `com.fasterxml.jackson.core.JsonParseException`

    - #### hasTextCharacters

          public boolean hasTextCharacters()

      Specified by:
        `hasTextCharacters` in class `com.fasterxml.jackson.core.base.ParserMinimalBase`

    - #### getNumberType

          public com.fasterxml.jackson.core.JsonParser.NumberType getNumberType()
                                                                         throws java.io.IOException,
                                                                                com.fasterxml.jackson.core.JsonParseException

      Specified by:
        `getNumberType` in class `com.fasterxml.jackson.core.JsonParser`
      Throws:
        `java.io.IOException`
        `com.fasterxml.jackson.core.JsonParseException`

    - #### getBigIntegerValue

          public java.math.BigInteger getBigIntegerValue()
                                                  throws java.io.IOException,
                                                         com.fasterxml.jackson.core.JsonParseException

      Specified by:
        `getBigIntegerValue` in class `com.fasterxml.jackson.core.JsonParser`
      Throws:
        `java.io.IOException`
        `com.fasterxml.jackson.core.JsonParseException`

    - #### getDecimalValue

          public java.math.BigDecimal getDecimalValue()
                                               throws java.io.IOException,
                                                      com.fasterxml.jackson.core.JsonParseException

      Specified by:
        `getDecimalValue` in class `com.fasterxml.jackson.core.JsonParser`
      Throws:
        `java.io.IOException`
        `com.fasterxml.jackson.core.JsonParseException`

    - #### getDoubleValue

          public double getDoubleValue()
                                throws java.io.IOException,
                                       com.fasterxml.jackson.core.JsonParseException

      Specified by:
        `getDoubleValue` in class `com.fasterxml.jackson.core.JsonParser`
      Throws:
        `java.io.IOException`
        `com.fasterxml.jackson.core.JsonParseException`

    - #### getFloatValue

          public float getFloatValue()
                              throws java.io.IOException,
                                     com.fasterxml.jackson.core.JsonParseException

      Specified by:
        `getFloatValue` in class `com.fasterxml.jackson.core.JsonParser`
      Throws:
        `java.io.IOException`
        `com.fasterxml.jackson.core.JsonParseException`

    - #### getLongValue

          public long getLongValue()
                            throws java.io.IOException,
                                   com.fasterxml.jackson.core.JsonParseException

      Specified by:
        `getLongValue` in class `com.fasterxml.jackson.core.JsonParser`
      Throws:
        `java.io.IOException`
        `com.fasterxml.jackson.core.JsonParseException`

    - #### getIntValue

          public int getIntValue()
                          throws java.io.IOException,
                                 com.fasterxml.jackson.core.JsonParseException

      Specified by:
        `getIntValue` in class `com.fasterxml.jackson.core.JsonParser`
      Throws:
        `java.io.IOException`
        `com.fasterxml.jackson.core.JsonParseException`

    - #### getNumberValue

          public java.lang.Number getNumberValue()
                                          throws java.io.IOException,
                                                 com.fasterxml.jackson.core.JsonParseException

      Specified by:
        `getNumberValue` in class `com.fasterxml.jackson.core.JsonParser`
      Throws:
        `java.io.IOException`
        `com.fasterxml.jackson.core.JsonParseException`

    - #### getEmbeddedObject

          public java.lang.Object getEmbeddedObject()

      Overrides:
        `getEmbeddedObject` in class `com.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 class `com.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 class `com.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 class `com.fasterxml.jackson.core.base.ParserMinimalBase`
      Throws:
        `com.fasterxml.jackson.core.JsonParseException`