Class NonBlockingParserBase

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
All Implemented Interfaces:
com.fasterxml.jackson.core.Versioned, Closeable, AutoCloseable
Direct Known Subclasses:
NonBlockingByteArrayParser

public abstract class NonBlockingParserBase extends SmileParserBase
  • Field Details

    • MAJOR_INITIAL

      protected static final int MAJOR_INITIAL
      State right after parser has been constructed, before seeing the first byte to know if there's header.
      See Also:
    • MAJOR_ROOT

      protected static final int MAJOR_ROOT
      State right after parser a root value has been finished, but next token has not yet been recognized.
      See Also:
    • MAJOR_OBJECT_FIELD

      protected static final int MAJOR_OBJECT_FIELD
      See Also:
    • MAJOR_OBJECT_VALUE

      protected static final int MAJOR_OBJECT_VALUE
      See Also:
    • MAJOR_ARRAY_ELEMENT

      protected static final int MAJOR_ARRAY_ELEMENT
      See Also:
    • MAJOR_CLOSED

      protected static final int MAJOR_CLOSED
      State after non-blocking input source has indicated that no more input is forthcoming AND we have exhausted all the input
      See Also:
    • MINOR_HEADER_INITIAL

      protected static final int MINOR_HEADER_INITIAL
      See Also:
    • MINOR_HEADER_INLINE

      protected static final int MINOR_HEADER_INLINE
      See Also:
    • MINOR_FIELD_NAME_2BYTE

      protected static final int MINOR_FIELD_NAME_2BYTE
      See Also:
    • MINOR_FIELD_NAME_LONG

      protected static final int MINOR_FIELD_NAME_LONG
      See Also:
    • MINOR_FIELD_NAME_SHORT_ASCII

      protected static final int MINOR_FIELD_NAME_SHORT_ASCII
      See Also:
    • MINOR_FIELD_NAME_SHORT_UNICODE

      protected static final int MINOR_FIELD_NAME_SHORT_UNICODE
      See Also:
    • MINOR_VALUE_NUMBER_INT

      protected static final int MINOR_VALUE_NUMBER_INT
      See Also:
    • MINOR_VALUE_NUMBER_LONG

      protected static final int MINOR_VALUE_NUMBER_LONG
      See Also:
    • MINOR_VALUE_NUMBER_FLOAT

      protected static final int MINOR_VALUE_NUMBER_FLOAT
      See Also:
    • MINOR_VALUE_NUMBER_DOUBLE

      protected static final int MINOR_VALUE_NUMBER_DOUBLE
      See Also:
    • MINOR_VALUE_NUMBER_BIGINT_LEN

      protected static final int MINOR_VALUE_NUMBER_BIGINT_LEN
      See Also:
    • MINOR_VALUE_NUMBER_BIGINT_BODY

      protected static final int MINOR_VALUE_NUMBER_BIGINT_BODY
      See Also:
    • MINOR_VALUE_NUMBER_BIGDEC_SCALE

      protected static final int MINOR_VALUE_NUMBER_BIGDEC_SCALE
      See Also:
    • MINOR_VALUE_NUMBER_BIGDEC_LEN

      protected static final int MINOR_VALUE_NUMBER_BIGDEC_LEN
      See Also:
    • MINOR_VALUE_NUMBER_BIGDEC_BODY

      protected static final int MINOR_VALUE_NUMBER_BIGDEC_BODY
      See Also:
    • MINOR_VALUE_STRING_SHORT_ASCII

      protected static final int MINOR_VALUE_STRING_SHORT_ASCII
      See Also:
    • MINOR_VALUE_STRING_SHORT_UNICODE

      protected static final int MINOR_VALUE_STRING_SHORT_UNICODE
      See Also:
    • MINOR_VALUE_STRING_LONG_ASCII

      protected static final int MINOR_VALUE_STRING_LONG_ASCII
      See Also:
    • MINOR_VALUE_STRING_LONG_UNICODE

      protected static final int MINOR_VALUE_STRING_LONG_UNICODE
      See Also:
    • MINOR_VALUE_STRING_SHARED_2BYTE

      protected static final int MINOR_VALUE_STRING_SHARED_2BYTE
      See Also:
    • MINOR_VALUE_BINARY_RAW_LEN

      protected static final int MINOR_VALUE_BINARY_RAW_LEN
      See Also:
    • MINOR_VALUE_BINARY_RAW_BODY

      protected static final int MINOR_VALUE_BINARY_RAW_BODY
      See Also:
    • MINOR_VALUE_BINARY_7BIT_LEN

      protected static final int MINOR_VALUE_BINARY_7BIT_LEN
      See Also:
    • MINOR_VALUE_BINARY_7BIT_BODY

      protected static final int MINOR_VALUE_BINARY_7BIT_BODY
      See Also:
    • _majorState

      protected int _majorState
      Current main decoding state
    • _minorState

      protected int _minorState
      Addition indicator within state; contextually relevant for just that state
    • _majorStateAfterValue

      protected int _majorStateAfterValue
      Value of _majorState after completing a scalar value
    • _endOfInput

      protected boolean _endOfInput
      Flag that is sent when calling application indicates that there will be no more input to parse.
    • _inputCopy

      protected byte[] _inputCopy
      Temporary buffer for holding content if input not contiguous (but can fit in buffer)
    • _inputCopyLen

      protected int _inputCopyLen
      Number of bytes buffered in _inputCopy
    • _pending32

      protected int _pending32
      Temporary storage for 32-bit values (int, float), as well as length markers for length-prefixed values.
    • _pending64

      protected long _pending64
      Temporary storage for 64-bit values (long, double), secondary storage for some other things (scale of BigDecimal values)
    • _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.
  • Constructor Details

    • NonBlockingParserBase

      protected NonBlockingParserBase(com.fasterxml.jackson.core.io.IOContext ctxt, int parserFeatures, int smileFeatures, com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer sym)
      Since:
      2.16
  • Method Details

    • 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
    • canParseAsync

      public boolean canParseAsync()
      Overrides:
      canParseAsync in class com.fasterxml.jackson.core.JsonParser
      Since:
      2.9
    • _releaseBuffers2

      protected void _releaseBuffers2()
      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).
      Specified by:
      _releaseBuffers2 in class SmileParserBase
    • symbolTableForTests

      protected com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer symbolTableForTests()
    • releaseBuffered

      public abstract 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
    • _closeInput

      protected void _closeInput() throws IOException
      Specified by:
      _closeInput in class SmileParserBase
      Throws:
      IOException
    • _parseNumericValue

      protected void _parseNumericValue() throws IOException
      Specified by:
      _parseNumericValue in class SmileParserBase
      Throws:
      IOException
    • hasTextCharacters

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

      public String getText() throws IOException
      Method for accessing textual representation of the current event; if no current event (before first call to ParserMinimalBase.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
      Specified by:
      getBinaryValue in class com.fasterxml.jackson.core.base.ParserMinimalBase
      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
    • _startArrayScope

      protected final com.fasterxml.jackson.core.JsonToken _startArrayScope() throws IOException
      Throws:
      IOException
    • _startObjectScope

      protected final com.fasterxml.jackson.core.JsonToken _startObjectScope() throws IOException
      Throws:
      IOException
    • _closeArrayScope

      protected final com.fasterxml.jackson.core.JsonToken _closeArrayScope() throws IOException
      Throws:
      IOException
    • _closeObjectScope

      protected final com.fasterxml.jackson.core.JsonToken _closeObjectScope() throws IOException
      Throws:
      IOException
    • _findDecodedFromSymbols

      protected final String _findDecodedFromSymbols(byte[] inBuf, int inPtr, int len) throws IOException
      Throws:
      IOException
    • _findDecodedLonger

      private final String _findDecodedLonger(byte[] inBuf, int inPtr, int len) throws IOException
      Throws:
      IOException
    • _addDecodedToSymbols

      protected final String _addDecodedToSymbols(int len, String name) throws IOException
      Throws:
      IOException
    • _expandSeenNames

      protected final String[] _expandSeenNames(String[] oldShared)
      Method called to try to expand shared name area to fit one more potentially shared String. If area is already at its biggest size, will just clear the area (by setting next-offset to 0)
    • _eofAsNextToken

      protected final com.fasterxml.jackson.core.JsonToken _eofAsNextToken() throws IOException
      Helper method called at point when all input has been exhausted and input feeder has indicated no more input will be forthcoming.
      Throws:
      IOException
    • _valueComplete

      protected final com.fasterxml.jackson.core.JsonToken _valueComplete(com.fasterxml.jackson.core.JsonToken t) throws IOException
      Throws:
      IOException
    • _handleSharedString

      protected final com.fasterxml.jackson.core.JsonToken _handleSharedString(int index) throws IOException
      Throws:
      IOException
    • _handleSharedName

      protected final com.fasterxml.jackson.core.JsonToken _handleSharedName(int index) throws IOException
      Throws:
      IOException
    • _addSeenStringValue

      protected final void _addSeenStringValue(String v) throws IOException
      Throws:
      IOException
    • _expandSeenStringValues

      private final void _expandSeenStringValues(String v)
    • _initByteArrayBuilder

      public void _initByteArrayBuilder()
    • _reportMissingHeader

      protected void _reportMissingHeader(int unmaskedFirstByte) throws IOException
      Throws:
      IOException
    • _reportInvalidSharedName

      protected void _reportInvalidSharedName(int index) throws IOException
      Throws:
      IOException
    • _reportInvalidSharedStringValue

      protected void _reportInvalidSharedStringValue(int index) throws IOException
      Throws:
      IOException
    • _reportInvalidInitial

      protected void _reportInvalidInitial(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