com.fasterxml.jackson.dataformat.smile.async

## Class NonBlockingParserImpl

- java.lang.Object
- - com.fasterxml.jackson.core.JsonParser
  - - com.fasterxml.jackson.core.base.ParserMinimalBase
    - - com.fasterxml.jackson.core.base.ParserBase
      - - com.fasterxml.jackson.dataformat.smile.async.NonBlockingParserImpl

- All Implemented Interfaces:
    com.fasterxml.jackson.core.Versioned, NonBlockingInputFeeder, NonBlockingParser, Closeable, AutoCloseable

      public class NonBlockingParserImpl
      extends com.fasterxml.jackson.core.base.ParserBase
      implements NonBlockingParser, NonBlockingInputFeeder

- - ### 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` | `_cfgRequireHeader`
    `protected int` | `_currQuad` Bytes parsed for the current, incomplete, quad
    `protected int` | `_currQuadBytes` Number of bytes pending/buffered, stored in `_currQuad`
    `protected boolean` | `_endOfInput` Flag that is sent when calling application indicates that there will be no more input to parse.
    `protected boolean` | `_got32BitFloat` Specific flag that is set when we encountered a 32-bit floating point value; needed since numeric super classes do not track distinction between float and double, but Smile format does, and we want to retain that separation.
    `protected byte[]` | `_inputBuffer` This buffer is actually provided via `NonBlockingInputFeeder`
    `protected boolean` | `_mayContainRawBinary` Flag that indicates whether content can legally have raw (unquoted) binary data.
    `protected com.fasterxml.jackson.core.ObjectCodec` | `_objectCodec` Codec used for data binding when (if) requested.
    `protected int` | `_origBufferLen` In addition to current buffer pointer, and end pointer, we will also need to know number of bytes originally contained.
    `protected int` | `_pendingInt` For 32-bit values, we may use this for combining values
    `protected long` | `_pendingLong` For 64-bit values, we may use this for combining values
    `protected int[]` | `_quadBuffer` Temporary buffer used for name parsing.
    `protected int` | `_quadCount` Number of complete quads parsed for current name (quads themselves are stored in `_quadBuffer`).
    `protected int` | `_seenNameCount`
    `protected String[]` | `_seenNames` Array of recently seen field names, which may be back referenced by later fields.
    `protected int` | `_seenStringValueCount`
    `protected String[]` | `_seenStringValues` Array of recently seen field names, which may be back referenced by later fields Defaults set to disable handling if no header found.
    `protected SmileBufferRecycler<String>` | `_smileBufferRecycler` Helper object used for low-level recycling of Smile-generator specific buffers.
    `protected static ThreadLocal<SoftReference<SmileBufferRecycler<String>>>` | `_smileRecyclerRef` `ThreadLocal` contains a `SoftReference` to a buffer recycler used to provide a low-cost buffer recycling for Smile-specific buffers.
    `protected int` | `_state` Current main decoding state
    `protected int` | `_substate` Addition indicator within state; contextually relevant for just that state
    `protected com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer` | `_symbols` Symbol table that contains field names encountered so far
    `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 static int` | `STATE_HEADER` State for recognized header marker, either in-feed or initial.
    `protected static int` | `STATE_INITIAL` State right after parser has been constructed: waiting for header (which may or may not be mandatory).
    `protected static int` | `STATE_LONG_ASCII`
    `protected static int` | `STATE_LONG_SHARED`
    `protected static int` | `STATE_LONG_UNICODE`
    `protected static int` | `STATE_NUMBER_BIGDEC`
    `protected static int` | `STATE_NUMBER_BIGINT`
    `protected static int` | `STATE_NUMBER_DOUBLE`
    `protected static int` | `STATE_NUMBER_FLOAT`
    `protected static int` | `STATE_NUMBER_INT`
    `protected static int` | `STATE_NUMBER_LONG`
    `protected static int` | `STATE_QUOTED_BINARY`
    `protected static int` | `STATE_RAW_BINARY`
    `protected static int` | `STATE_SHORT_ASCII`
    `protected static int` | `STATE_SHORT_UNICODE`
    `protected static int` | `STATE_TOKEN_COMPLETE` State in which we are right after decoding a full token.

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

      `_binaryValue, _byteArrayBuilder, _closed, _currInputProcessed, _currInputRow, _currInputRowStart, _expLength, _fractLength, _inputEnd, _inputPtr, _intLength, _ioContext, _nameCopied, _nameCopyBuffer, _nextToken, _numberBigDecimal, _numberBigInt, _numberDouble, _numberInt, _numberLong, _numberNegative, _numTypesValid, _parsingContext, _textBuffer, _tokenInputCol, _tokenInputRow, _tokenInputTotal, CHAR_NULL, INT_0, INT_9, INT_MINUS, INT_PLUS, NR_BIGDECIMAL, NR_BIGINT, NR_DOUBLE, NR_INT, NR_LONG, NR_UNKNOWN`

    - ### 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
    `NonBlockingParserImpl(com.fasterxml.jackson.core.io.IOContext ctxt, int parserFeatures, int smileFeatures, com.fasterxml.jackson.core.ObjectCodec codec, com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer sym)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `_closeInput()`
    `protected com.fasterxml.jackson.core.JsonToken` | `_finishToken()` Method called to finish parsing of a token, given partial decoded state.
    `protected com.fasterxml.jackson.core.JsonToken` | `_handleFieldName()` Method that handles initial token type recognition for token that has to be either FIELD_NAME or END_OBJECT.
    `protected void` | `_loadMoreGuaranteed()`
    `protected boolean` | `_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
    `protected void` | `_parseNumericValue(int expType)`
    `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` | `_reportInvalidSharedName(int index)`
    `protected void` | `_reportInvalidSharedStringValue(int index)`
    `protected static SmileBufferRecycler<String>` | `_smileBufferRecycler()`
    `protected void` | `_throwInvalidState(String desc)`
    `void` | `close()`
    `void` | `endOfInput()` Method that should be called after last chunk of data to parse has been fed (with `NonBlockingInputFeeder.feedInput(byte[], int, int)`); can be called regardless of what `NonBlockingInputFeeder.needMoreInput()` returns.
    `void` | `feedInput(byte[] buf, int start, int len)` Method that can be called to feed more data, if (and only if) `NonBlockingInputFeeder.needMoreInput()` returns true.
    `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.
    `String` | `getCurrentName()`
    `Object` | `getEmbeddedObject()`
    `Object` | `getInputSource()`
    `com.fasterxml.jackson.core.JsonParser.NumberType` | `getNumberType()`
    `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(Writer w)`
    `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.
    `protected boolean` | `handleSignature(boolean consumeFirstByte, boolean throwException)` Helper method called when it looks like input might contain the signature; and it is necessary to detect and handle signature to get configuration information it might have.
    `boolean` | `hasTextCharacters()`
    `boolean` | `mayContainRawBinary()`
    `boolean` | `needMoreInput()` Method called to check whether it is ok to feed more data: parser returns true if it has no more content to parse (and it is ok to feed more); otherwise false (and no data should yet be fed).
    `com.fasterxml.jackson.core.JsonToken` | `nextToken()`
    `com.fasterxml.jackson.core.JsonToken` | `peekNextToken()` Method that can be called when current token is not yet available via `JsonParser.currentToken()`, to try to figure out what kind of token will be eventually returned once the whole token is decoded, if known.
    `int` | `readBinaryValue(com.fasterxml.jackson.core.Base64Variant b64variant, OutputStream out)`
    `int` | `releaseBuffered(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.ParserBase

      `_checkStdFeatureChanges, _decodeBase64Escape, _decodeBase64Escape, _decodeEscaped, _eofAsNextChar, _finishString, _getByteArrayBuilder, _handleEOF, _parseIntValue, _reportMismatchedEndMarker, convertNumberToBigDecimal, convertNumberToBigInteger, convertNumberToDouble, convertNumberToInt, convertNumberToLong, disable, enable, getBigIntegerValue, getCurrentValue, getDecimalValue, getDoubleValue, getFloatValue, getIntValue, getLongValue, getNumberValue, getParsingContext, getTokenCharacterOffset, getTokenColumnNr, getTokenLineNr, isClosed, loadMore, loadMoreGuaranteed, overrideCurrentName, overrideStdFeatures, reportInvalidBase64Char, reportInvalidBase64Char, reportInvalidNumber, reportOverflowInt, reportOverflowLong, reportUnexpectedNumberChar, reset, resetAsNaN, resetFloat, resetInt, setCurrentValue, setFeatureMask`

    - ### 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, skipChildren`

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

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

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

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

- - ### Field Detail

    - #### STATE_INITIAL

          protected static final int STATE_INITIAL

      State right after parser has been constructed: waiting for header (which may or may not be mandatory).
      See Also:
        Constant Field Values

    - #### STATE_HEADER

          protected static final int STATE_HEADER

      State for recognized header marker, either in-feed or initial.
      See Also:
        Constant Field Values

    - #### STATE_TOKEN_COMPLETE

          protected static final int STATE_TOKEN_COMPLETE

      State in which we are right after decoding a full token.
      See Also:
        Constant Field Values

    - #### STATE_NUMBER_INT

          protected static final int STATE_NUMBER_INT

      See Also:
        Constant Field Values

    - #### STATE_NUMBER_LONG

          protected static final int STATE_NUMBER_LONG

      See Also:
        Constant Field Values

    - #### STATE_NUMBER_BIGINT

          protected static final int STATE_NUMBER_BIGINT

      See Also:
        Constant Field Values

    - #### STATE_NUMBER_FLOAT

          protected static final int STATE_NUMBER_FLOAT

      See Also:
        Constant Field Values

    - #### STATE_NUMBER_DOUBLE

          protected static final int STATE_NUMBER_DOUBLE

      See Also:
        Constant Field Values

    - #### STATE_NUMBER_BIGDEC

          protected static final int STATE_NUMBER_BIGDEC

      See Also:
        Constant Field Values

    - #### STATE_SHORT_ASCII

          protected static final int STATE_SHORT_ASCII

      See Also:
        Constant Field Values

    - #### STATE_SHORT_UNICODE

          protected static final int STATE_SHORT_UNICODE

      See Also:
        Constant Field Values

    - #### STATE_LONG_ASCII

          protected static final int STATE_LONG_ASCII

      See Also:
        Constant Field Values

    - #### STATE_LONG_UNICODE

          protected static final int STATE_LONG_UNICODE

      See Also:
        Constant Field Values

    - #### STATE_LONG_SHARED

          protected static final int STATE_LONG_SHARED

      See Also:
        Constant Field Values

    - #### STATE_RAW_BINARY

          protected static final int STATE_RAW_BINARY

      See Also:
        Constant Field Values

    - #### STATE_QUOTED_BINARY

          protected static final int STATE_QUOTED_BINARY

      See Also:
        Constant Field Values

    - #### _objectCodec

          protected com.fasterxml.jackson.core.ObjectCodec _objectCodec

      Codec used for data binding when (if) requested.

    - #### _mayContainRawBinary

          protected boolean _mayContainRawBinary

      Flag that indicates whether content can legally have raw (unquoted) binary data. Since this information is included both in header and in actual binary data blocks there is redundancy, and we want to ensure settings are compliant. Using application may also want to know this setting in case it does some direct (random) access.

    - #### _cfgRequireHeader

          protected final boolean _cfgRequireHeader

    - #### _smileBufferRecycler

          protected final SmileBufferRecycler<String> _smileBufferRecycler

      Helper object used for low-level recycling of Smile-generator specific buffers.

    - #### _inputBuffer

          protected byte[] _inputBuffer

      This buffer is actually provided via `NonBlockingInputFeeder`

    - #### _origBufferLen

          protected int _origBufferLen

      In addition to current buffer pointer, and end pointer, we will also need to know number of bytes originally contained. This is needed to correctly update location information when the block has been completed.

    - #### _state

          protected int _state

      Current main decoding state

    - #### _substate

          protected int _substate

      Addition indicator within state; contextually relevant for just that state

    - #### _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)

    - #### _got32BitFloat

          protected boolean _got32BitFloat

      Specific flag that is set when we encountered a 32-bit floating point value; needed since numeric super classes do not track distinction between float and double, but Smile format does, and we want to retain that separation.

    - #### _pendingInt

          protected int _pendingInt

      For 32-bit values, we may use this for combining values

    - #### _pendingLong

          protected long _pendingLong

      For 64-bit values, we may use this for combining values

    - #### _endOfInput

          protected boolean _endOfInput

      Flag that is sent when calling application indicates that there will be no more input to parse.

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

    - #### _quadCount

          protected int _quadCount

      Number of complete quads parsed for current name (quads themselves are stored in `_quadBuffer`).

    - #### _currQuad

          protected int _currQuad

      Bytes parsed for the current, incomplete, quad

    - #### _currQuadBytes

          protected int _currQuadBytes

      Number of bytes pending/buffered, stored in `_currQuad`

    - #### _seenNames

          protected String[] _seenNames

      Array of recently seen field names, which may be back referenced by later fields. Defaults set to enable handling even if no header found.

    - #### _seenNameCount

          protected int _seenNameCount

    - #### _seenStringValues

          protected String[] _seenStringValues

      Array of recently seen field names, which may be back referenced by later fields Defaults set to disable handling if no header found.

    - #### _seenStringValueCount

          protected int _seenStringValueCount

    - #### _smileRecyclerRef

          protected static final ThreadLocal<SoftReference<SmileBufferRecycler<String>>> _smileRecyclerRef

      `ThreadLocal` contains a `SoftReference` to a buffer recycler used to provide a low-cost buffer recycling for Smile-specific buffers.

  - ### Constructor Detail

    - #### NonBlockingParserImpl

          public NonBlockingParserImpl(com.fasterxml.jackson.core.io.IOContext ctxt,
                               int parserFeatures,
                               int smileFeatures,
                               com.fasterxml.jackson.core.ObjectCodec codec,
                               com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer sym)

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

    - #### handleSignature

          protected boolean handleSignature(boolean consumeFirstByte,
                                boolean throwException)
                                     throws IOException

      Helper method called when it looks like input might contain the signature; and it is necessary to detect and handle signature to get configuration information it might have.
      Returns:
        True if valid signature was found and handled; false if not
      Throws:
        `IOException`

    - #### _smileBufferRecycler

          protected static final SmileBufferRecycler<String> _smileBufferRecycler()

    - #### version

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

      Specified by:
        `version` in interface `com.fasterxml.jackson.core.Versioned`
      Overrides:
        `version` in class `com.fasterxml.jackson.core.base.ParserBase`

    - #### releaseBuffered

          public int releaseBuffered(OutputStream out)
                              throws IOException

      Overrides:
        `releaseBuffered` in class `com.fasterxml.jackson.core.JsonParser`
      Throws:
        `IOException`

    - #### getInputSource

          public 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.
      Overrides:
        `getTokenLocation` in class `com.fasterxml.jackson.core.base.ParserBase`

    - #### 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.
      Overrides:
        `getCurrentLocation` in class `com.fasterxml.jackson.core.base.ParserBase`

    - #### _loadToHaveAtLeast

          protected final boolean _loadToHaveAtLeast(int minAvailable)
                                              throws IOException

      Helper method that will try to load at least specified number bytes in input buffer, possible moving existing data around if necessary
      Throws:
        `IOException`

    - #### _closeInput

          protected void _closeInput()
                              throws IOException

      Specified by:
        `_closeInput` in class `com.fasterxml.jackson.core.base.ParserBase`
      Throws:
        `IOException`

    - #### close

          public void close()
                     throws IOException

      Specified by:
        `close` in interface `Closeable`
      Specified by:
        `close` in interface `AutoCloseable`
      Overrides:
        `close` in class `com.fasterxml.jackson.core.base.ParserBase`
      Throws:
        `IOException`

    - #### hasTextCharacters

          public boolean hasTextCharacters()

      Overrides:
        `hasTextCharacters` in class `com.fasterxml.jackson.core.base.ParserBase`

    - #### _releaseBuffers

          protected void _releaseBuffers()
                                  throws 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).
      Overrides:
        `_releaseBuffers` in class `com.fasterxml.jackson.core.base.ParserBase`
      Throws:
        `IOException`

    - #### mayContainRawBinary

          public boolean mayContainRawBinary()

    - #### nextToken

          public com.fasterxml.jackson.core.JsonToken nextToken()
                                                         throws IOException

      Specified by:
        `nextToken` in class `com.fasterxml.jackson.core.base.ParserMinimalBase`
      Throws:
        `IOException`

    - #### getCurrentName

          public String getCurrentName()
                                throws IOException

      Overrides:
        `getCurrentName` in class `com.fasterxml.jackson.core.base.ParserBase`
      Throws:
        `IOException`

    - #### getNumberType

          public com.fasterxml.jackson.core.JsonParser.NumberType getNumberType()
                                                                         throws IOException

      Overrides:
        `getNumberType` in class `com.fasterxml.jackson.core.base.ParserBase`
      Throws:
        `IOException`

    - #### needMoreInput

          public final boolean needMoreInput()

      Description copied from interface: `NonBlockingInputFeeder`
      Method called to check whether it is ok to feed more data: parser returns true if it has no more content to parse (and it is ok to feed more); otherwise false (and no data should yet be fed).
      Specified by:
        `needMoreInput` in interface `NonBlockingInputFeeder`

    - #### feedInput

          public void feedInput(byte[] buf,
                       int start,
                       int len)
                         throws IOException

      Description copied from interface: `NonBlockingInputFeeder`
      Method that can be called to feed more data, if (and only if) `NonBlockingInputFeeder.needMoreInput()` returns true.
      Specified by:
        `feedInput` in interface `NonBlockingInputFeeder`
      Parameters:
        `buf` - Byte array that contains data to feed: caller must ensure data remains stable until it is fully processed (which is true when `NonBlockingInputFeeder.needMoreInput()` returns true)
        `start` - Offset within array where input data to process starts
        `len` - Length of input data within array to process.
      Throws:
        `IOException` - if the state is such that this method should not be called (has not yet consumed existing input data, or has been marked as closed)

    - #### endOfInput

          public void endOfInput()

      Description copied from interface: `NonBlockingInputFeeder`
      Method that should be called after last chunk of data to parse has been fed (with `NonBlockingInputFeeder.feedInput(byte[], int, int)`); can be called regardless of what `NonBlockingInputFeeder.needMoreInput()` returns. After calling this method, no more data can be fed; and parser assumes no more data will be available.
      Specified by:
        `endOfInput` in interface `NonBlockingInputFeeder`

    - #### peekNextToken

          public com.fasterxml.jackson.core.JsonToken peekNextToken()
                                                             throws IOException

      Description copied from interface: `NonBlockingParser`
      Method that can be called when current token is not yet available via `JsonParser.currentToken()`, to try to figure out what kind of token will be eventually returned once the whole token is decoded, if known. Note that this may return `JsonToken.NOT_AVAILABLE`: this occurs either if current token is known (and thus no more parsing can be done yet), or if not enough content is available to even determine next token type (typically we only need a single byte, but in boundaries zero bytes is available).
      Specified by:
        `peekNextToken` in interface `NonBlockingParser`
      Returns:
        Token that will eventually be returned with a call to `JsonParser.nextToken()`, if known
      Throws:
        `IOException`

    - #### getText

          public String getText()
                         throws 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:
        `IOException`

    - #### getTextCharacters

          public char[] getTextCharacters()
                                   throws IOException

      Specified by:
        `getTextCharacters` in class `com.fasterxml.jackson.core.base.ParserMinimalBase`
      Throws:
        `IOException`

    - #### getTextLength

          public int getTextLength()
                            throws IOException

      Specified by:
        `getTextLength` in class `com.fasterxml.jackson.core.base.ParserMinimalBase`
      Throws:
        `IOException`

    - #### getTextOffset

          public int getTextOffset()
                            throws IOException

      Specified by:
        `getTextOffset` in class `com.fasterxml.jackson.core.base.ParserMinimalBase`
      Throws:
        `IOException`

    - #### getText

          public int getText(Writer w)
                      throws IOException

      Overrides:
        `getText` in class `com.fasterxml.jackson.core.JsonParser`
      Throws:
        `IOException`

    - #### getBinaryValue

          public byte[] getBinaryValue(com.fasterxml.jackson.core.Base64Variant b64variant)
                                throws IOException

      Overrides:
        `getBinaryValue` in class `com.fasterxml.jackson.core.base.ParserBase`
      Throws:
        `IOException`

    - #### getEmbeddedObject

          public Object getEmbeddedObject()
                                   throws IOException

      Overrides:
        `getEmbeddedObject` in class `com.fasterxml.jackson.core.JsonParser`
      Throws:
        `IOException`

    - #### readBinaryValue

          public int readBinaryValue(com.fasterxml.jackson.core.Base64Variant b64variant,
                            OutputStream out)
                              throws IOException

      Overrides:
        `readBinaryValue` in class `com.fasterxml.jackson.core.JsonParser`
      Throws:
        `IOException`

    - #### _handleFieldName

          protected final com.fasterxml.jackson.core.JsonToken _handleFieldName()
                                                                         throws IOException

      Method that handles initial token type recognition for token that has to be either FIELD_NAME or END_OBJECT.
      Throws:
        `IOException`

    - #### _parseNumericValue

          protected void _parseNumericValue(int expType)
                                     throws IOException

      Overrides:
        `_parseNumericValue` in class `com.fasterxml.jackson.core.base.ParserBase`
      Throws:
        `IOException`

    - #### _finishToken

          protected final com.fasterxml.jackson.core.JsonToken _finishToken()
                                                                     throws IOException

      Method called to finish parsing of a token, given partial decoded state.
      Throws:
        `IOException`

    - #### _loadMoreGuaranteed

          protected final void _loadMoreGuaranteed()
                                            throws IOException

      Throws:
        `IOException`

    - #### _reportInvalidSharedName

          protected void _reportInvalidSharedName(int index)
                                           throws IOException

      Throws:
        `IOException`

    - #### _reportInvalidSharedStringValue

          protected void _reportInvalidSharedStringValue(int index)
                                                  throws IOException

      Throws:
        `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`

    - #### _throwInvalidState

          protected void _throwInvalidState(String desc)

Copyright © 2016 FasterXML. All rights reserved.