Class TreeTraversingParser

  • All Implemented Interfaces:
    com.fasterxml.jackson.core.Versioned, Closeable, 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 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, 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
      • Fields inherited from class com.fasterxml.jackson.core.JsonParser

        _features, _requestPayload
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void _handleEOF()  
      void close()  
      protected JsonNode currentNode()  
      protected JsonNode currentNumericNode()  
      BigInteger getBigIntegerValue()  
      byte[] getBinaryValue​(com.fasterxml.jackson.core.Base64Variant b64variant)  
      com.fasterxml.jackson.core.ObjectCodec getCodec()  
      com.fasterxml.jackson.core.JsonLocation getCurrentLocation()  
      String getCurrentName()  
      BigDecimal getDecimalValue()  
      double getDoubleValue()  
      Object getEmbeddedObject()  
      float getFloatValue()  
      int getIntValue()  
      long getLongValue()  
      com.fasterxml.jackson.core.JsonParser.NumberType getNumberType()  
      Number getNumberValue()  
      com.fasterxml.jackson.core.JsonStreamContext getParsingContext()  
      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​(String name)  
      int readBinaryValue​(com.fasterxml.jackson.core.Base64Variant b64variant, 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, _longIntegerDesc, _longNumberDesc, _reportError, _reportError, _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, reportInvalidNumber, reportOverflowInt, 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, 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.
    • 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
      • nextToken

        public com.fasterxml.jackson.core.JsonToken nextToken()
                                                       throws IOException,
                                                              com.fasterxml.jackson.core.JsonParseException
        Specified by:
        nextToken in class com.fasterxml.jackson.core.base.ParserMinimalBase
        Throws:
        IOException
        com.fasterxml.jackson.core.JsonParseException
      • skipChildren

        public com.fasterxml.jackson.core.JsonParser skipChildren()
                                                           throws IOException,
                                                                  com.fasterxml.jackson.core.JsonParseException
        Overrides:
        skipChildren in class com.fasterxml.jackson.core.base.ParserMinimalBase
        Throws:
        IOException
        com.fasterxml.jackson.core.JsonParseException
      • isClosed

        public boolean isClosed()
        Specified by:
        isClosed in class com.fasterxml.jackson.core.base.ParserMinimalBase
      • getCurrentName

        public String getCurrentName()
        Specified by:
        getCurrentName in class com.fasterxml.jackson.core.base.ParserMinimalBase
      • overrideCurrentName

        public void overrideCurrentName​(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 String getText()
        Specified by:
        getText in class com.fasterxml.jackson.core.base.ParserMinimalBase
      • getTextCharacters

        public char[] getTextCharacters()
                                 throws IOException,
                                        com.fasterxml.jackson.core.JsonParseException
        Specified by:
        getTextCharacters in class com.fasterxml.jackson.core.base.ParserMinimalBase
        Throws:
        IOException
        com.fasterxml.jackson.core.JsonParseException
      • getTextLength

        public int getTextLength()
                          throws IOException,
                                 com.fasterxml.jackson.core.JsonParseException
        Specified by:
        getTextLength in class com.fasterxml.jackson.core.base.ParserMinimalBase
        Throws:
        IOException
        com.fasterxml.jackson.core.JsonParseException
      • getTextOffset

        public int getTextOffset()
                          throws IOException,
                                 com.fasterxml.jackson.core.JsonParseException
        Specified by:
        getTextOffset in class com.fasterxml.jackson.core.base.ParserMinimalBase
        Throws:
        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 IOException,
                                                                              com.fasterxml.jackson.core.JsonParseException
        Specified by:
        getNumberType in class com.fasterxml.jackson.core.JsonParser
        Throws:
        IOException
        com.fasterxml.jackson.core.JsonParseException
      • getBigIntegerValue

        public BigInteger getBigIntegerValue()
                                      throws IOException,
                                             com.fasterxml.jackson.core.JsonParseException
        Specified by:
        getBigIntegerValue in class com.fasterxml.jackson.core.JsonParser
        Throws:
        IOException
        com.fasterxml.jackson.core.JsonParseException
      • getDecimalValue

        public BigDecimal getDecimalValue()
                                   throws IOException,
                                          com.fasterxml.jackson.core.JsonParseException
        Specified by:
        getDecimalValue in class com.fasterxml.jackson.core.JsonParser
        Throws:
        IOException
        com.fasterxml.jackson.core.JsonParseException
      • getDoubleValue

        public double getDoubleValue()
                              throws IOException,
                                     com.fasterxml.jackson.core.JsonParseException
        Specified by:
        getDoubleValue in class com.fasterxml.jackson.core.JsonParser
        Throws:
        IOException
        com.fasterxml.jackson.core.JsonParseException
      • getFloatValue

        public float getFloatValue()
                            throws IOException,
                                   com.fasterxml.jackson.core.JsonParseException
        Specified by:
        getFloatValue in class com.fasterxml.jackson.core.JsonParser
        Throws:
        IOException
        com.fasterxml.jackson.core.JsonParseException
      • getLongValue

        public long getLongValue()
                          throws IOException,
                                 com.fasterxml.jackson.core.JsonParseException
        Specified by:
        getLongValue in class com.fasterxml.jackson.core.JsonParser
        Throws:
        IOException
        com.fasterxml.jackson.core.JsonParseException
      • getIntValue

        public int getIntValue()
                        throws IOException,
                               com.fasterxml.jackson.core.JsonParseException
        Specified by:
        getIntValue in class com.fasterxml.jackson.core.JsonParser
        Throws:
        IOException
        com.fasterxml.jackson.core.JsonParseException
      • getNumberValue

        public Number getNumberValue()
                              throws IOException,
                                     com.fasterxml.jackson.core.JsonParseException
        Specified by:
        getNumberValue in class com.fasterxml.jackson.core.JsonParser
        Throws:
        IOException
        com.fasterxml.jackson.core.JsonParseException
      • getEmbeddedObject

        public Object getEmbeddedObject()
        Overrides:
        getEmbeddedObject in class com.fasterxml.jackson.core.JsonParser
      • isNaN

        public boolean isNaN()
        Overrides:
        isNaN in class com.fasterxml.jackson.core.JsonParser
      • getBinaryValue

        public byte[] getBinaryValue​(com.fasterxml.jackson.core.Base64Variant b64variant)
                              throws IOException,
                                     com.fasterxml.jackson.core.JsonParseException
        Specified by:
        getBinaryValue in class com.fasterxml.jackson.core.base.ParserMinimalBase
        Throws:
        IOException
        com.fasterxml.jackson.core.JsonParseException
      • readBinaryValue

        public int readBinaryValue​(com.fasterxml.jackson.core.Base64Variant b64variant,
                                   OutputStream out)
                            throws IOException,
                                   com.fasterxml.jackson.core.JsonParseException
        Overrides:
        readBinaryValue in class com.fasterxml.jackson.core.JsonParser
        Throws:
        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