com.fasterxml.jackson.dataformat.smile.async

## Class NonBlockingByteArrayParser

- java.lang.Object
- - com.fasterxml.jackson.core.JsonParser
  - - com.fasterxml.jackson.core.base.ParserMinimalBase
    - - com.fasterxml.jackson.dataformat.smile.SmileParserBase
      - - com.fasterxml.jackson.dataformat.smile.async.NonBlockingParserBase
        - - com.fasterxml.jackson.dataformat.smile.async.NonBlockingByteArrayParser

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

      public class NonBlockingByteArrayParser
      extends NonBlockingParserBase
      implements com.fasterxml.jackson.core.async.ByteArrayFeeder

- - ### 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 byte[]` | `_inputBuffer` This buffer is actually provided via `NonBlockingInputFeeder`
    `protected int` | `_origBufferLen` In addition to current buffer pointer, and end pointer, we will also need to know number of bytes originally contained.

    - ### Fields inherited from class com.fasterxml.jackson.dataformat.smile.async.NonBlockingParserBase

      `_byteArrayBuilder, _endOfInput, _inputCopy, _inputCopyLen, _majorState, _majorStateAfterValue, _minorState, _pending32, _pending64, MAJOR_ARRAY_ELEMENT, MAJOR_CLOSED, MAJOR_INITIAL, MAJOR_OBJECT_FIELD, MAJOR_OBJECT_VALUE, MAJOR_ROOT, MINOR_FIELD_NAME_2BYTE, MINOR_FIELD_NAME_LONG, MINOR_FIELD_NAME_SHORT_ASCII, MINOR_FIELD_NAME_SHORT_UNICODE, MINOR_HEADER_INITIAL, MINOR_HEADER_INLINE, MINOR_VALUE_BINARY_7BIT_BODY, MINOR_VALUE_BINARY_7BIT_LEN, MINOR_VALUE_BINARY_RAW_BODY, MINOR_VALUE_BINARY_RAW_LEN, MINOR_VALUE_NUMBER_BIGDEC_BODY, MINOR_VALUE_NUMBER_BIGDEC_LEN, MINOR_VALUE_NUMBER_BIGDEC_SCALE, MINOR_VALUE_NUMBER_BIGINT_BODY, MINOR_VALUE_NUMBER_BIGINT_LEN, MINOR_VALUE_NUMBER_DOUBLE, MINOR_VALUE_NUMBER_FLOAT, MINOR_VALUE_NUMBER_INT, MINOR_VALUE_NUMBER_LONG, MINOR_VALUE_STRING_LONG_ASCII, MINOR_VALUE_STRING_LONG_UNICODE, MINOR_VALUE_STRING_SHARED_2BYTE, MINOR_VALUE_STRING_SHORT_ASCII, MINOR_VALUE_STRING_SHORT_UNICODE`

    - ### Fields inherited from class com.fasterxml.jackson.dataformat.smile.SmileParserBase

      `_binaryValue, _closed, _currInputProcessed, _formatFeatures, _inputEnd, _inputPtr, _ioContext, _mayContainRawBinary, _nameCopied, _nameCopyBuffer, _numberBigDecimal, _numberBigInt, _numberDouble, _numberFloat, _numberInt, _numberLong, _numberType, _numTypesValid, _parsingContext, _quad1, _quad2, _quad3, _quadBuffer, _seenNameCount, _seenNames, _seenStringValueCount, _seenStringValues, _smileBufferRecycler, _smileRecyclerRef, _symbols, _textBuffer, _tokenOffsetForTotal, NO_STRINGS`

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

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `NonBlockingByteArrayParser(com.fasterxml.jackson.core.io.IOContext ctxt, int parserFeatures, int smileFeatures, com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer sym)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected boolean` | `_decode7BitEncodedTail(int bytesToDecode, int buffered)`
    `protected com.fasterxml.jackson.core.JsonToken` | `_finishDouble(long value, int bytesRead)`
    `protected com.fasterxml.jackson.core.JsonToken` | `_finishFloat(int value, int bytesRead)`
    `protected com.fasterxml.jackson.core.JsonToken` | `_finishHeader(int state)` Helper method that will decode information from a header block that has been detected.
    `protected com.fasterxml.jackson.core.JsonToken` | `_finishToken()` Method called when a (scalar) value type has been detected, but not all of contents have been decoded due to incomplete input available.
    `protected com.fasterxml.jackson.core.JsonToken` | `_startDouble()`
    `protected com.fasterxml.jackson.core.JsonToken` | `_startFieldName(int ch)` Method that handles initial token type recognition for token that has to be either FIELD_NAME or END_OBJECT.
    `protected com.fasterxml.jackson.core.JsonToken` | `_startFloat()`
    `protected com.fasterxml.jackson.core.JsonToken` | `_startLongUnicode()`
    `protected com.fasterxml.jackson.core.JsonToken` | `_startRawBinary()`
    `void` | `endOfInput()`
    `void` | `feedInput(byte[] buf, int start, int end)`
    `com.fasterxml.jackson.core.async.ByteArrayFeeder` | `getNonBlockingInputFeeder()`
    `boolean` | `needMoreInput()`
    `com.fasterxml.jackson.core.JsonToken` | `nextToken()`
    `int` | `releaseBuffered(OutputStream out)`

    - ### Methods inherited from class com.fasterxml.jackson.dataformat.smile.async.NonBlockingParserBase

      `_addDecodedToSymbols, _addSeenStringValue, _closeArrayScope, _closeInput, _closeObjectScope, _eofAsNextToken, _expandSeenNames, _findDecodedFromSymbols, _handleSharedName, _handleSharedString, _initByteArrayBuilder, _parseNumericValue, _releaseBuffers2, _reportInvalidInitial, _reportInvalidOther, _reportInvalidSharedName, _reportInvalidSharedStringValue, _reportMissingHeader, _startArrayScope, _startObjectScope, _valueComplete, canParseAsync, getBinaryValue, getCodec, getEmbeddedObject, getInputSource, getText, getText, getTextCharacters, getTextLength, getTextOffset, hasTextCharacters, readBinaryValue, setCodec, symbolTableForTests`

    - ### Methods inherited from class com.fasterxml.jackson.dataformat.smile.SmileParserBase

      `_getSourceReference, _handleEOF, _releaseBuffers, _reportMismatchedEndMarker, _smileBufferRecycler, close, convertNumberToBigDecimal, convertNumberToBigInteger, convertNumberToDouble, convertNumberToFloat, convertNumberToInt, convertNumberToLong, getBigIntegerValue, getCurrentLocation, getCurrentName, getDecimalValue, getDoubleValue, getFloatValue, getFormatFeatures, getIntValue, getLongValue, getNumberType, getNumberValue, getParsingContext, getTokenLocation, isClosed, isNaN, mayContainRawBinary, overrideCurrentName, overrideFormatFeatures, 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, isExpectedStartArrayToken, isExpectedStartObjectToken, nextValue, reportInvalidNumber, reportOverflowInt, reportOverflowInt, reportOverflowInt, reportOverflowLong, reportOverflowLong, reportOverflowLong, reportUnexpectedNumberChar, skipChildren`

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

      `_codec, _constructError, _reportUnsupportedOperation, canReadObjectId, canReadTypeId, canUseSchema, configure, currentName, disable, enable, finishToken, getBinaryValue, getBooleanValue, getByteValue, getCurrentValue, getFeatureMask, getObjectId, getSchema, getShortValue, getTypeId, getValueAsBoolean, getValueAsDouble, isEnabled, isEnabled, nextBooleanValue, nextFieldName, nextFieldName, nextIntValue, nextLongValue, nextTextValue, 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

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

  - ### Constructor Detail

    - #### NonBlockingByteArrayParser

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

  - ### Method Detail

    - #### getNonBlockingInputFeeder

          public com.fasterxml.jackson.core.async.ByteArrayFeeder getNonBlockingInputFeeder()

      Overrides:
        `getNonBlockingInputFeeder` in class `com.fasterxml.jackson.core.JsonParser`

    - #### needMoreInput

          public final boolean needMoreInput()

      Specified by:
        `needMoreInput` in interface `com.fasterxml.jackson.core.async.NonBlockingInputFeeder`

    - #### feedInput

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

      Specified by:
        `feedInput` in interface `com.fasterxml.jackson.core.async.ByteArrayFeeder`
      Throws:
        `IOException`

    - #### endOfInput

          public void endOfInput()

      Specified by:
        `endOfInput` in interface `com.fasterxml.jackson.core.async.NonBlockingInputFeeder`

    - #### releaseBuffered

          public int releaseBuffered(OutputStream out)
                              throws IOException

      Specified by:
        `releaseBuffered` in class `NonBlockingParserBase`
      Throws:
        `IOException`

    - #### nextToken

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

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

    - #### _finishToken

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

      Method called when a (scalar) value type has been detected, but not all of contents have been decoded due to incomplete input available.
      Throws:
        `IOException`

    - #### _finishHeader

          protected com.fasterxml.jackson.core.JsonToken _finishHeader(int state)
                                                                throws IOException

      Helper method that will decode information from a header block that has been detected.
      Throws:
        `IOException`

    - #### _startFieldName

          protected final com.fasterxml.jackson.core.JsonToken _startFieldName(int ch)
                                                                        throws IOException

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

    - #### _startLongUnicode

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

      Throws:
        `IOException`

    - #### _startFloat

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

      Throws:
        `IOException`

    - #### _finishFloat

          protected final com.fasterxml.jackson.core.JsonToken _finishFloat(int value,
                                                                            int bytesRead)
                                                                     throws IOException

      Throws:
        `IOException`

    - #### _startDouble

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

      Throws:
        `IOException`

    - #### _finishDouble

          protected final com.fasterxml.jackson.core.JsonToken _finishDouble(long value,
                                                                             int bytesRead)
                                                                      throws IOException

      Throws:
        `IOException`

    - #### _startRawBinary

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

      Throws:
        `IOException`

    - #### _decode7BitEncodedTail

          protected final boolean _decode7BitEncodedTail(int bytesToDecode,
                                                         int buffered)
                                                  throws IOException

      Throws:
        `IOException`

Copyright © 2019 FasterXML. All rights reserved.