Class CBORParser

  • All Implemented Interfaces:
    com.fasterxml.jackson.core.Versioned, java.io.Closeable, java.lang.AutoCloseable

    public class CBORParser
    extends com.fasterxml.jackson.core.base.ParserMinimalBase
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  CBORParser.Feature
      Enumeration that defines all togglable features for CBOR generators.
      • Nested classes/interfaces inherited from class com.fasterxml.jackson.core.JsonParser

        com.fasterxml.jackson.core.JsonParser.NumberType
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected byte[] _binaryValue
      We will hold on to decoded binary data, for duration of current event, so that multiple calls to getBinaryValue(com.fasterxml.jackson.core.Base64Variant) will not need to decode data more than once.
      protected boolean _bufferRecyclable
      Flag that indicates whether the input buffer is recycable (and needs to be returned to recycler once we are done) or not.
      protected com.fasterxml.jackson.core.util.ByteArrayBuilder _byteArrayBuilder
      ByteArrayBuilder is needed if 'getBinaryValue' is called.
      private int _chunkEnd
      Helper variables used when dealing with chunked content.
      private int _chunkLeft
      Helper variables used when dealing with chunked content.
      protected boolean _closed
      Flag that indicates whether parser is closed or not.
      protected long _currInputProcessed
      Number of characters/bytes that were contained in previous blocks (blocks that were already processed prior to the current buffer).
      protected int _currInputRow
      Current row location of current point in input buffer, starting from 1, if available.
      protected int _currInputRowStart
      Current index of the first character of the current row in input buffer.
      protected byte[] _inputBuffer
      Current buffer from which data is read; generally data is read into buffer from input source, but in some cases pre-loaded buffer is handed to the parser.
      protected int _inputEnd
      Index of character after last available one in the buffer.
      protected int _inputPtr
      Pointer to next available character in buffer
      protected java.io.InputStream _inputStream
      Input stream that can be used for reading more content, if one in use.
      protected com.fasterxml.jackson.core.io.IOContext _ioContext
      I/O context for this reader.
      protected boolean _nameCopied
      Flag set to indicate whether the field name is available from the name copy buffer or not (in addition to its String representation being available via read context)
      protected char[] _nameCopyBuffer
      Temporary buffer that is needed if field name is accessed using getTextCharacters() method (instead of String returning alternatives)
      protected java.math.BigDecimal _numberBigDecimal  
      protected java.math.BigInteger _numberBigInt  
      protected double _numberDouble  
      protected float _numberFloat  
      protected int _numberInt  
      protected long _numberLong  
      protected int _numTypesValid
      Bitfield that indicates which numeric representations have been calculated for the current type
      protected com.fasterxml.jackson.core.ObjectCodec _objectCodec
      Codec used for data binding when (if) requested.
      protected CBORReadContext _parsingContext
      Information about parser context, context in which the next token is to be parsed (root, array, object).
      protected int _quad1
      Quads used for hash calculation
      protected int _quad2
      Quads used for hash calculation
      protected int _quad3
      Quads used for hash calculation
      protected int[] _quadBuffer
      Temporary buffer used for name parsing.
      protected com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer _symbols
      Symbol table that contains field names encountered so far
      protected int _tagValue
      We will keep track of tag value for possible future use.
      protected com.fasterxml.jackson.core.util.TextBuffer _textBuffer
      Buffer that contains contents of String values, including field names if necessary (name split across boundary, contains escape sequence, or access needed to char array)
      protected boolean _tokenIncomplete
      Flag that indicates that the current token has not yet been fully processed, and needs to be finished for some access (or skipped to obtain the next token)
      protected int _tokenInputCol
      Column on input row that current token starts; 0-based (although in the end it'll be converted to 1-based)
      protected int _tokenInputRow
      Input row on which current token starts, 1-based
      protected long _tokenInputTotal
      Total number of bytes/characters read before start of current token.
      protected int _typeByte
      Type byte of the current token
      (package private) static java.math.BigDecimal BD_MAX_INT  
      (package private) static java.math.BigDecimal BD_MAX_LONG  
      (package private) static java.math.BigDecimal BD_MIN_INT  
      (package private) static java.math.BigDecimal BD_MIN_LONG  
      (package private) static java.math.BigInteger BI_MAX_INT  
      (package private) static java.math.BigInteger BI_MAX_LONG  
      (package private) static java.math.BigInteger BI_MIN_INT  
      (package private) static java.math.BigInteger BI_MIN_LONG  
      private static java.math.BigInteger BIT_63  
      private static double MATH_POW_2_10  
      private static double MATH_POW_2_NEG14  
      private static java.nio.charset.Charset UTF8  
      private static int[] UTF8_UNIT_CODES  
      • Fields inherited from class com.fasterxml.jackson.core.base.ParserMinimalBase

        _currToken, _lastClearedToken, 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
    • Constructor Summary

      Constructors 
      Constructor Description
      CBORParser​(com.fasterxml.jackson.core.io.IOContext ctxt, int parserFeatures, int cborFeatures, com.fasterxml.jackson.core.ObjectCodec codec, com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer sym, java.io.InputStream in, byte[] inputBuffer, int start, int end, boolean bufferRecyclable)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private java.lang.String _addDecodedToSymbols​(int len, java.lang.String name)  
      private java.math.BigInteger _bigNegative​(long l)  
      private java.math.BigInteger _bigPositive​(long l)  
      protected void _checkNumericValue​(int expType)  
      protected void _closeInput()  
      private int _decode16Bits()  
      private int _decode32Bits()  
      private long _decode64Bits()  
      private int _decode8Bits()  
      private java.lang.String _decodeChunkedName()  
      private int _decodeChunkedUTF8_3​(int c1)  
      private int _decodeChunkedUTF8_4​(int c)  
      private int _decodeChunkLength​(int expType)  
      private int _decodeExplicitLength​(int lowBits)
      Method used to decode explicit length of a variable-length value (or, for indefinite/chunked, indicate that one is not known).
      protected com.fasterxml.jackson.core.JsonToken _decodeFieldName()  
      private float _decodeHalfSizeFloat()  
      private java.lang.String _decodeLongerName​(int len)  
      protected void _decodeNonStringName​(int ch)
      Method that handles initial token type recognition for token that has to be either FIELD_NAME or END_OBJECT.
      private java.lang.String _decodeShortName​(int len)  
      private int _decodeTag​(int lowBits)  
      protected com.fasterxml.jackson.core.JsonToken _decodeUndefinedValue()
      Helper method to encapsulate details of handling of mysterious `undefined` value that is allowed to be used as something encoder could not handle (as per spec), whatever the heck that should be.
      private int _decodeUTF8_3​(int c1)  
      private int _decodeUTF8_4​(int c)  
      private java.lang.String _findDecodedFromSymbols​(int len)  
      private java.lang.String _findDecodedLong​(int len, int q1, int q2)
      Method for locating names longer than 8 bytes (in UTF-8)
      protected byte[] _finishBytes​(int len)  
      private void _finishChunkedText()  
      private void _finishLongText​(int len)  
      private java.lang.String _finishShortText​(int len)  
      protected java.lang.String _finishTextToken​(int ch)  
      protected void _finishToken()
      Method called to finish parsing of a token so that token contents are retriable
      protected com.fasterxml.jackson.core.util.ByteArrayBuilder _getByteArrayBuilder()  
      private static int[] _growArrayTo​(int[] arr, int minSize)  
      protected com.fasterxml.jackson.core.JsonToken _handleCBOREOF()  
      protected void _handleEOF()  
      protected com.fasterxml.jackson.core.JsonToken _handleTaggedArray​(int tag, int len)  
      protected com.fasterxml.jackson.core.JsonToken _handleTaggedBinary​(int tag)  
      protected void _invalidToken​(int ch)  
      protected void _loadToHaveAtLeast​(int minAvailable)
      Helper method that will try to load at least specified number bytes in input buffer, possible moving existing data around if necessary
      private static long _long​(int i1, int i2)  
      private int _nextByte()  
      private int _nextChunkedByte()  
      private int _nextChunkedByte2()  
      protected java.lang.String _numberToName​(int ch, boolean neg)  
      private int _readAndWriteBytes​(java.io.OutputStream out, int total)  
      protected void _releaseBuffers()
      Method called to release internal buffers owned by the base reader.
      protected void _reportInvalidChar​(int c)  
      protected void _reportInvalidInitial​(int mask)  
      protected void _reportInvalidOther​(int mask)  
      protected void _reportInvalidOther​(int mask, int ptr)  
      protected void _reportUnexpectedBreak()  
      protected void _skipBytes​(int len)  
      protected void _skipBytesL​(long llen)  
      protected void _skipChunked​(int expectedType)  
      protected void _skipIncomplete()
      Method called to skip remainders of an incomplete token, when contents themselves will not be needed any more.
      private int _slow16()  
      private int _slow32()  
      private long _slow64()  
      void close()  
      protected void convertNumberToBigDecimal()  
      protected void convertNumberToBigInteger()  
      protected void convertNumberToDouble()  
      protected void convertNumberToFloat()  
      protected void convertNumberToInt()  
      protected void convertNumberToLong()  
      void finishToken()
      Method for forcing full read of current token, even if it might otherwise only be read if data is accessed via getText() and similar methods.
      java.math.BigInteger getBigIntegerValue()  
      byte[] getBinaryValue​(com.fasterxml.jackson.core.Base64Variant b64variant)  
      com.fasterxml.jackson.core.ObjectCodec getCodec()  
      com.fasterxml.jackson.core.JsonLocation getCurrentLocation()
      Overridden since we do not really have character-based locations, but we do have byte offset to specify.
      java.lang.String getCurrentName()
      Method that can be called to get the name associated with the current event.
      int getCurrentTag()
      Method that can be used to access tag id associated with the most recently decoded value (whether completely, for scalar values, or partially, for Objects/Arrays), if any.
      java.math.BigDecimal getDecimalValue()  
      double getDoubleValue()  
      java.lang.Object getEmbeddedObject()  
      float getFloatValue()  
      int getFormatFeatures()  
      java.lang.Object getInputSource()  
      int getIntValue()  
      long getLongValue()  
      com.fasterxml.jackson.core.JsonParser.NumberType getNumberType()  
      java.lang.Number getNumberValue()  
      CBORReadContext getParsingContext()  
      java.lang.String getText()
      Method for accessing textual representation of the current event; if no current event (before first call to nextToken(), or after encountering end-of-input), returns null.
      int getText​(java.io.Writer writer)  
      char[] getTextCharacters()  
      int getTextLength()  
      int getTextOffset()  
      com.fasterxml.jackson.core.JsonLocation getTokenLocation()
      Overridden since we do not really have character-based locations, but we do have byte offset to specify.
      java.lang.String getValueAsString()  
      java.lang.String getValueAsString​(java.lang.String defaultValue)  
      boolean hasTextCharacters()  
      boolean isClosed()  
      boolean isNaN()  
      protected boolean loadMore()  
      protected void loadMoreGuaranteed()  
      java.lang.Boolean nextBooleanValue()  
      java.lang.String nextFieldName()  
      boolean nextFieldName​(com.fasterxml.jackson.core.SerializableString str)  
      int nextIntValue​(int defaultValue)  
      long nextLongValue​(long defaultValue)  
      java.lang.String nextTextValue()  
      com.fasterxml.jackson.core.JsonToken nextToken()  
      void overrideCurrentName​(java.lang.String name)  
      int readBinaryValue​(com.fasterxml.jackson.core.Base64Variant b64variant, java.io.OutputStream out)  
      int releaseBuffered​(java.io.OutputStream out)  
      void setCodec​(com.fasterxml.jackson.core.ObjectCodec c)  
      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, hasCurrentToken, hasToken, hasTokenId, isExpectedStartArrayToken, isExpectedStartObjectToken, nextValue, reportInvalidNumber, reportOverflowInt, reportOverflowInt, reportOverflowInt, reportOverflowLong, reportOverflowLong, reportOverflowLong, reportUnexpectedNumberChar, skipChildren
      • Methods inherited from class com.fasterxml.jackson.core.JsonParser

        _codec, _constructError, _reportUnsupportedOperation, canParseAsync, canReadObjectId, canReadTypeId, canUseSchema, configure, currentName, disable, enable, getBinaryValue, getBooleanValue, getByteValue, getCurrentValue, getFeatureMask, getNonBlockingInputFeeder, getObjectId, getSchema, getShortValue, getTypeId, getValueAsBoolean, getValueAsDouble, isEnabled, isEnabled, overrideFormatFeatures, overrideStdFeatures, readBinaryValue, readValueAs, readValueAs, readValueAsTree, readValuesAs, readValuesAs, 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

      • UTF8

        private static final java.nio.charset.Charset UTF8
      • UTF8_UNIT_CODES

        private static final int[] UTF8_UNIT_CODES
      • MATH_POW_2_10

        private static final double MATH_POW_2_10
      • MATH_POW_2_NEG14

        private static final double MATH_POW_2_NEG14
      • _objectCodec

        protected com.fasterxml.jackson.core.ObjectCodec _objectCodec
        Codec used for data binding when (if) requested.
      • _ioContext

        protected final com.fasterxml.jackson.core.io.IOContext _ioContext
        I/O context for this reader. It handles buffer allocation for the reader.
      • _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.
      • _inputPtr

        protected int _inputPtr
        Pointer to next available character in buffer
      • _inputEnd

        protected int _inputEnd
        Index of character after last available one in the buffer.
      • _currInputProcessed

        protected long _currInputProcessed
        Number of characters/bytes that were contained in previous blocks (blocks that were already processed prior to the current buffer).
      • _currInputRow

        protected int _currInputRow
        Current row location of current point in input buffer, starting from 1, if available.
      • _currInputRowStart

        protected int _currInputRowStart
        Current index of the first character of the current row in input buffer. Needed to calculate column position, if necessary; benefit of not having column itself is that this only has to be updated once per line.
      • _tokenInputTotal

        protected long _tokenInputTotal
        Total number of bytes/characters read before start of current token. For big (gigabyte-sized) sizes are possible, needs to be long, unlike pointers and sizes related to in-memory buffers.
      • _tokenInputRow

        protected int _tokenInputRow
        Input row on which current token starts, 1-based
      • _tokenInputCol

        protected int _tokenInputCol
        Column on input row that current token starts; 0-based (although in the end it'll be converted to 1-based)
      • _parsingContext

        protected CBORReadContext _parsingContext
        Information about parser context, context in which the next token is to be parsed (root, array, object).
      • _textBuffer

        protected final com.fasterxml.jackson.core.util.TextBuffer _textBuffer
        Buffer that contains contents of String values, including field names if necessary (name split across boundary, contains escape sequence, or access needed to char array)
      • _nameCopyBuffer

        protected char[] _nameCopyBuffer
        Temporary buffer that is needed if field name is accessed using getTextCharacters() method (instead of String returning alternatives)
      • _nameCopied

        protected boolean _nameCopied
        Flag set to indicate whether the field name is available from the name copy buffer or not (in addition to its String representation being available via read context)
      • _byteArrayBuilder

        protected com.fasterxml.jackson.core.util.ByteArrayBuilder _byteArrayBuilder
        ByteArrayBuilder is needed if 'getBinaryValue' is called. If so, we better reuse it for remainder of content.
      • _tagValue

        protected int _tagValue
        We will keep track of tag value for possible future use.
      • _inputStream

        protected java.io.InputStream _inputStream
        Input stream that can be used for reading more content, if one in use. May be null, if input comes just as a full buffer, or if the stream has been closed.
      • _inputBuffer

        protected byte[] _inputBuffer
        Current buffer from which data is read; generally data is read into buffer from input source, but in some cases pre-loaded buffer is handed to the parser.
      • _bufferRecyclable

        protected boolean _bufferRecyclable
        Flag that indicates whether the input buffer is recycable (and needs to be returned to recycler once we are done) or not.

        If it is not, it also means that parser can NOT modify underlying buffer.

      • _tokenIncomplete

        protected boolean _tokenIncomplete
        Flag that indicates that the current token has not yet been fully processed, and needs to be finished for some access (or skipped to obtain the next token)
      • _typeByte

        protected int _typeByte
        Type byte of the current token
      • _chunkLeft

        private int _chunkLeft
        Helper variables used when dealing with chunked content.
      • _chunkEnd

        private int _chunkEnd
        Helper variables used when dealing with chunked content.
      • _symbols

        protected final com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer _symbols
        Symbol table that contains field names encountered so far
      • _quadBuffer

        protected int[] _quadBuffer
        Temporary buffer used for name parsing.
      • _quad1

        protected int _quad1
        Quads used for hash calculation
      • _quad2

        protected int _quad2
        Quads used for hash calculation
      • _quad3

        protected int _quad3
        Quads used for hash calculation
      • BI_MIN_INT

        static final java.math.BigInteger BI_MIN_INT
      • BI_MAX_INT

        static final java.math.BigInteger BI_MAX_INT
      • BI_MIN_LONG

        static final java.math.BigInteger BI_MIN_LONG
      • BI_MAX_LONG

        static final java.math.BigInteger BI_MAX_LONG
      • BD_MIN_LONG

        static final java.math.BigDecimal BD_MIN_LONG
      • BD_MAX_LONG

        static final java.math.BigDecimal BD_MAX_LONG
      • BD_MIN_INT

        static final java.math.BigDecimal BD_MIN_INT
      • BD_MAX_INT

        static final java.math.BigDecimal BD_MAX_INT
      • _numTypesValid

        protected int _numTypesValid
        Bitfield that indicates which numeric representations have been calculated for the current type
      • _numberInt

        protected int _numberInt
      • _numberLong

        protected long _numberLong
      • _numberFloat

        protected float _numberFloat
      • _numberDouble

        protected double _numberDouble
      • _numberBigInt

        protected java.math.BigInteger _numberBigInt
      • _numberBigDecimal

        protected java.math.BigDecimal _numberBigDecimal
      • BIT_63

        private static final java.math.BigInteger BIT_63
    • Constructor Detail

      • CBORParser

        public CBORParser​(com.fasterxml.jackson.core.io.IOContext ctxt,
                          int parserFeatures,
                          int cborFeatures,
                          com.fasterxml.jackson.core.ObjectCodec codec,
                          com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer sym,
                          java.io.InputStream in,
                          byte[] inputBuffer,
                          int start,
                          int end,
                          boolean bufferRecyclable)
    • Method Detail

      • getCodec

        public com.fasterxml.jackson.core.ObjectCodec getCodec()
        Specified by:
        getCodec in class com.fasterxml.jackson.core.JsonParser
      • setCodec

        public void setCodec​(com.fasterxml.jackson.core.ObjectCodec c)
        Specified by:
        setCodec 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
      • getFormatFeatures

        public int getFormatFeatures()
        Overrides:
        getFormatFeatures in class com.fasterxml.jackson.core.JsonParser
      • getCurrentTag

        public int getCurrentTag()
        Method that can be used to access tag id associated with the most recently decoded value (whether completely, for scalar values, or partially, for Objects/Arrays), if any. If no tag was associated with it, -1 is returned.
        Since:
        2.5
      • releaseBuffered

        public int releaseBuffered​(java.io.OutputStream out)
                            throws java.io.IOException
        Overrides:
        releaseBuffered in class com.fasterxml.jackson.core.JsonParser
        Throws:
        java.io.IOException
      • getInputSource

        public java.lang.Object getInputSource()
        Overrides:
        getInputSource in class com.fasterxml.jackson.core.JsonParser
      • getTokenLocation

        public com.fasterxml.jackson.core.JsonLocation getTokenLocation()
        Overridden since we do not really have character-based locations, but we do have byte offset to specify.
        Specified by:
        getTokenLocation in class com.fasterxml.jackson.core.JsonParser
      • getCurrentLocation

        public com.fasterxml.jackson.core.JsonLocation getCurrentLocation()
        Overridden since we do not really have character-based locations, but we do have byte offset to specify.
        Specified by:
        getCurrentLocation in class com.fasterxml.jackson.core.JsonParser
      • getCurrentName

        public java.lang.String getCurrentName()
                                        throws java.io.IOException
        Method that can be called to get the name associated with the current event.
        Specified by:
        getCurrentName in class com.fasterxml.jackson.core.base.ParserMinimalBase
        Throws:
        java.io.IOException
      • overrideCurrentName

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

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

        public CBORReadContext getParsingContext()
        Specified by:
        getParsingContext in class com.fasterxml.jackson.core.base.ParserMinimalBase
      • hasTextCharacters

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

        protected void _releaseBuffers()
                                throws java.io.IOException
        Method called to release internal buffers owned by the base reader. This may be called along with _closeInput() (for example, when explicitly closing this reader instance), or separately (if need be).
        Throws:
        java.io.IOException
      • nextToken

        public com.fasterxml.jackson.core.JsonToken nextToken()
                                                       throws java.io.IOException
        Specified by:
        nextToken in class com.fasterxml.jackson.core.base.ParserMinimalBase
        Throws:
        java.io.IOException
      • _numberToName

        protected java.lang.String _numberToName​(int ch,
                                                 boolean neg)
                                          throws java.io.IOException
        Throws:
        java.io.IOException
      • _handleTaggedBinary

        protected com.fasterxml.jackson.core.JsonToken _handleTaggedBinary​(int tag)
                                                                    throws java.io.IOException
        Throws:
        java.io.IOException
      • _handleTaggedArray

        protected com.fasterxml.jackson.core.JsonToken _handleTaggedArray​(int tag,
                                                                          int len)
                                                                   throws java.io.IOException
        Throws:
        java.io.IOException
      • finishToken

        public void finishToken()
                         throws java.io.IOException
        Method for forcing full read of current token, even if it might otherwise only be read if data is accessed via getText() and similar methods.
        Overrides:
        finishToken in class com.fasterxml.jackson.core.JsonParser
        Throws:
        java.io.IOException
      • nextFieldName

        public boolean nextFieldName​(com.fasterxml.jackson.core.SerializableString str)
                              throws java.io.IOException
        Overrides:
        nextFieldName in class com.fasterxml.jackson.core.JsonParser
        Throws:
        java.io.IOException
      • nextFieldName

        public java.lang.String nextFieldName()
                                       throws java.io.IOException
        Overrides:
        nextFieldName in class com.fasterxml.jackson.core.JsonParser
        Throws:
        java.io.IOException
      • nextTextValue

        public java.lang.String nextTextValue()
                                       throws java.io.IOException
        Overrides:
        nextTextValue in class com.fasterxml.jackson.core.JsonParser
        Throws:
        java.io.IOException
      • nextIntValue

        public int nextIntValue​(int defaultValue)
                         throws java.io.IOException
        Overrides:
        nextIntValue in class com.fasterxml.jackson.core.JsonParser
        Throws:
        java.io.IOException
      • nextLongValue

        public long nextLongValue​(long defaultValue)
                           throws java.io.IOException
        Overrides:
        nextLongValue in class com.fasterxml.jackson.core.JsonParser
        Throws:
        java.io.IOException
      • nextBooleanValue

        public java.lang.Boolean nextBooleanValue()
                                           throws java.io.IOException
        Overrides:
        nextBooleanValue in class com.fasterxml.jackson.core.JsonParser
        Throws:
        java.io.IOException
      • getText

        public java.lang.String getText()
                                 throws java.io.IOException
        Method for accessing textual representation of the current event; if no current event (before first call to nextToken(), or after encountering end-of-input), returns null. Method can be called for any event.
        Specified by:
        getText in class com.fasterxml.jackson.core.base.ParserMinimalBase
        Throws:
        java.io.IOException
      • getTextCharacters

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

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

        public int getTextOffset()
                          throws java.io.IOException
        Specified by:
        getTextOffset in class com.fasterxml.jackson.core.base.ParserMinimalBase
        Throws:
        java.io.IOException
      • getValueAsString

        public java.lang.String getValueAsString()
                                          throws java.io.IOException
        Overrides:
        getValueAsString in class com.fasterxml.jackson.core.base.ParserMinimalBase
        Throws:
        java.io.IOException
      • getValueAsString

        public java.lang.String getValueAsString​(java.lang.String defaultValue)
                                          throws java.io.IOException
        Overrides:
        getValueAsString in class com.fasterxml.jackson.core.base.ParserMinimalBase
        Throws:
        java.io.IOException
      • getText

        public int getText​(java.io.Writer writer)
                    throws java.io.IOException
        Overrides:
        getText in class com.fasterxml.jackson.core.JsonParser
        Throws:
        java.io.IOException
      • getBinaryValue

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

        public java.lang.Object getEmbeddedObject()
                                           throws java.io.IOException
        Overrides:
        getEmbeddedObject in class com.fasterxml.jackson.core.JsonParser
        Throws:
        java.io.IOException
      • readBinaryValue

        public int readBinaryValue​(com.fasterxml.jackson.core.Base64Variant b64variant,
                                   java.io.OutputStream out)
                            throws java.io.IOException
        Overrides:
        readBinaryValue in class com.fasterxml.jackson.core.JsonParser
        Throws:
        java.io.IOException
      • _readAndWriteBytes

        private int _readAndWriteBytes​(java.io.OutputStream out,
                                       int total)
                                throws java.io.IOException
        Throws:
        java.io.IOException
      • isNaN

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

        public java.lang.Number getNumberValue()
                                        throws java.io.IOException
        Specified by:
        getNumberValue in class com.fasterxml.jackson.core.JsonParser
        Throws:
        java.io.IOException
      • 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
      • 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
      • getBigIntegerValue

        public java.math.BigInteger getBigIntegerValue()
                                                throws java.io.IOException
        Specified by:
        getBigIntegerValue 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
      • getDoubleValue

        public double getDoubleValue()
                              throws java.io.IOException
        Specified by:
        getDoubleValue 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
      • _checkNumericValue

        protected void _checkNumericValue​(int expType)
                                   throws java.io.IOException
        Throws:
        java.io.IOException
      • convertNumberToInt

        protected void convertNumberToInt()
                                   throws java.io.IOException
        Throws:
        java.io.IOException
      • convertNumberToLong

        protected void convertNumberToLong()
                                    throws java.io.IOException
        Throws:
        java.io.IOException
      • convertNumberToBigInteger

        protected void convertNumberToBigInteger()
                                          throws java.io.IOException
        Throws:
        java.io.IOException
      • convertNumberToFloat

        protected void convertNumberToFloat()
                                     throws java.io.IOException
        Throws:
        java.io.IOException
      • convertNumberToDouble

        protected void convertNumberToDouble()
                                      throws java.io.IOException
        Throws:
        java.io.IOException
      • convertNumberToBigDecimal

        protected void convertNumberToBigDecimal()
                                          throws java.io.IOException
        Throws:
        java.io.IOException
      • _finishToken

        protected void _finishToken()
                             throws java.io.IOException
        Method called to finish parsing of a token so that token contents are retriable
        Throws:
        java.io.IOException
      • _finishTextToken

        protected java.lang.String _finishTextToken​(int ch)
                                             throws java.io.IOException
        Throws:
        java.io.IOException
        Since:
        2.6
      • _finishShortText

        private final java.lang.String _finishShortText​(int len)
                                                 throws java.io.IOException
        Throws:
        java.io.IOException
      • _finishLongText

        private final void _finishLongText​(int len)
                                    throws java.io.IOException
        Throws:
        java.io.IOException
      • _finishChunkedText

        private final void _finishChunkedText()
                                       throws java.io.IOException
        Throws:
        java.io.IOException
      • _nextByte

        private final int _nextByte()
                             throws java.io.IOException
        Throws:
        java.io.IOException
      • _nextChunkedByte

        private final int _nextChunkedByte()
                                    throws java.io.IOException
        Throws:
        java.io.IOException
      • _nextChunkedByte2

        private final int _nextChunkedByte2()
                                     throws java.io.IOException
        Throws:
        java.io.IOException
      • _finishBytes

        protected byte[] _finishBytes​(int len)
                               throws java.io.IOException
        Throws:
        java.io.IOException
      • _decodeFieldName

        protected final com.fasterxml.jackson.core.JsonToken _decodeFieldName()
                                                                       throws java.io.IOException
        Throws:
        java.io.IOException
      • _decodeShortName

        private final java.lang.String _decodeShortName​(int len)
                                                 throws java.io.IOException
        Throws:
        java.io.IOException
      • _decodeLongerName

        private final java.lang.String _decodeLongerName​(int len)
                                                  throws java.io.IOException
        Throws:
        java.io.IOException
      • _decodeChunkedName

        private final java.lang.String _decodeChunkedName()
                                                   throws java.io.IOException
        Throws:
        java.io.IOException
      • _decodeNonStringName

        protected final void _decodeNonStringName​(int ch)
                                           throws java.io.IOException
        Method that handles initial token type recognition for token that has to be either FIELD_NAME or END_OBJECT.
        Throws:
        java.io.IOException
      • _findDecodedFromSymbols

        private final java.lang.String _findDecodedFromSymbols​(int len)
                                                        throws java.io.IOException
        Throws:
        java.io.IOException
      • _findDecodedLong

        private final java.lang.String _findDecodedLong​(int len,
                                                        int q1,
                                                        int q2)
                                                 throws java.io.IOException
        Method for locating names longer than 8 bytes (in UTF-8)
        Throws:
        java.io.IOException
      • _addDecodedToSymbols

        private final java.lang.String _addDecodedToSymbols​(int len,
                                                            java.lang.String name)
      • _growArrayTo

        private static int[] _growArrayTo​(int[] arr,
                                          int minSize)
      • _skipIncomplete

        protected void _skipIncomplete()
                                throws java.io.IOException
        Method called to skip remainders of an incomplete token, when contents themselves will not be needed any more. Only called or byte array and text.
        Throws:
        java.io.IOException
      • _skipChunked

        protected void _skipChunked​(int expectedType)
                             throws java.io.IOException
        Throws:
        java.io.IOException
      • _skipBytesL

        protected void _skipBytesL​(long llen)
                            throws java.io.IOException
        Throws:
        java.io.IOException
      • _skipBytes

        protected void _skipBytes​(int len)
                           throws java.io.IOException
        Throws:
        java.io.IOException
      • _decodeTag

        private final int _decodeTag​(int lowBits)
                              throws java.io.IOException
        Throws:
        java.io.IOException
      • _decodeExplicitLength

        private final int _decodeExplicitLength​(int lowBits)
                                         throws java.io.IOException
        Method used to decode explicit length of a variable-length value (or, for indefinite/chunked, indicate that one is not known). Note that long (64-bit) length is only allowed if it fits in 32-bit signed int, for now; expectation being that longer values are always encoded as chunks.
        Throws:
        java.io.IOException
      • _decodeChunkLength

        private int _decodeChunkLength​(int expType)
                                throws java.io.IOException
        Throws:
        java.io.IOException
      • _decodeHalfSizeFloat

        private float _decodeHalfSizeFloat()
                                    throws java.io.IOException
        Throws:
        java.io.IOException
      • _decode8Bits

        private final int _decode8Bits()
                                throws java.io.IOException
        Throws:
        java.io.IOException
      • _decode16Bits

        private final int _decode16Bits()
                                 throws java.io.IOException
        Throws:
        java.io.IOException
      • _slow16

        private final int _slow16()
                           throws java.io.IOException
        Throws:
        java.io.IOException
      • _decode32Bits

        private final int _decode32Bits()
                                 throws java.io.IOException
        Throws:
        java.io.IOException
      • _slow32

        private final int _slow32()
                           throws java.io.IOException
        Throws:
        java.io.IOException
      • _decode64Bits

        private final long _decode64Bits()
                                  throws java.io.IOException
        Throws:
        java.io.IOException
      • _slow64

        private final long _slow64()
                            throws java.io.IOException
        Throws:
        java.io.IOException
      • _long

        private static final long _long​(int i1,
                                        int i2)
      • _decodeUndefinedValue

        protected com.fasterxml.jackson.core.JsonToken _decodeUndefinedValue()
                                                                      throws java.io.IOException
        Helper method to encapsulate details of handling of mysterious `undefined` value that is allowed to be used as something encoder could not handle (as per spec), whatever the heck that should be. Current definition for 2.9 is that we will be return JsonToken.VALUE_NULL, but for later versions it is likely that we will alternatively allow decoding as JsonToken.VALUE_EMBEDDED_OBJECT with "embedded value" of `null`.
        Throws:
        java.io.IOException
        Since:
        2.9.6
      • _decodeUTF8_3

        private final int _decodeUTF8_3​(int c1)
                                 throws java.io.IOException
        Throws:
        java.io.IOException
      • _decodeChunkedUTF8_3

        private final int _decodeChunkedUTF8_3​(int c1)
                                        throws java.io.IOException
        Throws:
        java.io.IOException
      • _decodeUTF8_4

        private final int _decodeUTF8_4​(int c)
                                 throws java.io.IOException
        Returns:
        Character value minus 0x10000; this so that caller can readily expand it to actual surrogates
        Throws:
        java.io.IOException
      • _decodeChunkedUTF8_4

        private final int _decodeChunkedUTF8_4​(int c)
                                        throws java.io.IOException
        Throws:
        java.io.IOException
      • loadMore

        protected final boolean loadMore()
                                  throws java.io.IOException
        Throws:
        java.io.IOException
      • loadMoreGuaranteed

        protected final void loadMoreGuaranteed()
                                         throws java.io.IOException
        Throws:
        java.io.IOException
      • _loadToHaveAtLeast

        protected final void _loadToHaveAtLeast​(int minAvailable)
                                         throws java.io.IOException
        Helper method that will try to load at least specified number bytes in input buffer, possible moving existing data around if necessary
        Throws:
        java.io.IOException
      • _getByteArrayBuilder

        protected com.fasterxml.jackson.core.util.ByteArrayBuilder _getByteArrayBuilder()
      • _closeInput

        protected void _closeInput()
                            throws java.io.IOException
        Throws:
        java.io.IOException
      • _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
      • _handleCBOREOF

        protected com.fasterxml.jackson.core.JsonToken _handleCBOREOF()
                                                               throws java.io.IOException
        Throws:
        java.io.IOException
      • _invalidToken

        protected void _invalidToken​(int ch)
                              throws com.fasterxml.jackson.core.JsonParseException
        Throws:
        com.fasterxml.jackson.core.JsonParseException
      • _reportUnexpectedBreak

        protected void _reportUnexpectedBreak()
                                       throws java.io.IOException
        Throws:
        java.io.IOException
      • _reportInvalidChar

        protected void _reportInvalidChar​(int c)
                                   throws com.fasterxml.jackson.core.JsonParseException
        Throws:
        com.fasterxml.jackson.core.JsonParseException
      • _reportInvalidInitial

        protected void _reportInvalidInitial​(int mask)
                                      throws com.fasterxml.jackson.core.JsonParseException
        Throws:
        com.fasterxml.jackson.core.JsonParseException
      • _reportInvalidOther

        protected void _reportInvalidOther​(int mask)
                                    throws com.fasterxml.jackson.core.JsonParseException
        Throws:
        com.fasterxml.jackson.core.JsonParseException
      • _reportInvalidOther

        protected void _reportInvalidOther​(int mask,
                                           int ptr)
                                    throws com.fasterxml.jackson.core.JsonParseException
        Throws:
        com.fasterxml.jackson.core.JsonParseException
      • _bigPositive

        private final java.math.BigInteger _bigPositive​(long l)
      • _bigNegative

        private final java.math.BigInteger _bigNegative​(long l)