Class 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 Description
      protected boolean _closed
      Flag that indicates whether parser is closed or not.
      protected com.fasterxml.jackson.databind.node.NodeCursor _nodeCursor
      Traversal context within tree
      protected 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
      • Fields inherited from class com.fasterxml.jackson.core.JsonParser

        _features, _requestPayload, DEFAULT_READ_CAPABILITIES
    • 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
      • 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
      • _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
      • getReadCapabilities

        public com.fasterxml.jackson.core.util.JacksonFeatureSet<com.fasterxml.jackson.core.StreamReadCapability> getReadCapabilities()
        Overrides:
        getReadCapabilities in class com.fasterxml.jackson.core.JsonParser
      • close

        public void close()
                   throws java.io.IOException
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        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
        Overrides:
        skipChildren in class com.fasterxml.jackson.core.base.ParserMinimalBase
        Throws:
        java.io.IOException
      • 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
        Specified by:
        getNumberType in class com.fasterxml.jackson.core.JsonParser
        Throws:
        java.io.IOException
      • getBigIntegerValue

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

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

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

        public float getFloatValue()
                            throws java.io.IOException
        Specified by:
        getFloatValue in class com.fasterxml.jackson.core.JsonParser
        Throws:
        java.io.IOException
      • getIntValue

        public int getIntValue()
                        throws java.io.IOException
        Specified by:
        getIntValue in class com.fasterxml.jackson.core.JsonParser
        Throws:
        java.io.IOException
      • getLongValue

        public long getLongValue()
                          throws java.io.IOException
        Specified by:
        getLongValue in class com.fasterxml.jackson.core.JsonParser
        Throws:
        java.io.IOException
      • getNumberValue

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

        public java.lang.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 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