Class NonBlockingParserBase

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

    public abstract class NonBlockingParserBase
    extends SmileParserBase
    • Field Detail

      • 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:
        Constant Field Values
      • 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:
        Constant Field Values
      • 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:
        Constant Field Values
      • MINOR_FIELD_NAME_2BYTE

        protected static final int MINOR_FIELD_NAME_2BYTE
        See Also:
        Constant Field Values
      • MINOR_FIELD_NAME_LONG

        protected static final int MINOR_FIELD_NAME_LONG
        See Also:
        Constant Field Values
      • MINOR_FIELD_NAME_SHORT_ASCII

        protected static final int MINOR_FIELD_NAME_SHORT_ASCII
        See Also:
        Constant Field Values
      • MINOR_FIELD_NAME_SHORT_UNICODE

        protected static final int MINOR_FIELD_NAME_SHORT_UNICODE
        See Also:
        Constant Field Values
      • MINOR_VALUE_NUMBER_INT

        protected static final int MINOR_VALUE_NUMBER_INT
        See Also:
        Constant Field Values
      • MINOR_VALUE_NUMBER_LONG

        protected static final int MINOR_VALUE_NUMBER_LONG
        See Also:
        Constant Field Values
      • MINOR_VALUE_NUMBER_FLOAT

        protected static final int MINOR_VALUE_NUMBER_FLOAT
        See Also:
        Constant Field Values
      • MINOR_VALUE_NUMBER_DOUBLE

        protected static final int MINOR_VALUE_NUMBER_DOUBLE
        See Also:
        Constant Field Values
      • MINOR_VALUE_NUMBER_BIGINT_LEN

        protected static final int MINOR_VALUE_NUMBER_BIGINT_LEN
        See Also:
        Constant Field Values
      • MINOR_VALUE_NUMBER_BIGINT_BODY

        protected static final int MINOR_VALUE_NUMBER_BIGINT_BODY
        See Also:
        Constant Field Values
      • MINOR_VALUE_NUMBER_BIGDEC_SCALE

        protected static final int MINOR_VALUE_NUMBER_BIGDEC_SCALE
        See Also:
        Constant Field Values
      • MINOR_VALUE_NUMBER_BIGDEC_LEN

        protected static final int MINOR_VALUE_NUMBER_BIGDEC_LEN
        See Also:
        Constant Field Values
      • MINOR_VALUE_NUMBER_BIGDEC_BODY

        protected static final int MINOR_VALUE_NUMBER_BIGDEC_BODY
        See Also:
        Constant Field Values
      • MINOR_VALUE_STRING_SHORT_ASCII

        protected static final int MINOR_VALUE_STRING_SHORT_ASCII
        See Also:
        Constant Field Values
      • MINOR_VALUE_STRING_SHORT_UNICODE

        protected static final int MINOR_VALUE_STRING_SHORT_UNICODE
        See Also:
        Constant Field Values
      • MINOR_VALUE_STRING_LONG_ASCII

        protected static final int MINOR_VALUE_STRING_LONG_ASCII
        See Also:
        Constant Field Values
      • MINOR_VALUE_STRING_LONG_UNICODE

        protected static final int MINOR_VALUE_STRING_LONG_UNICODE
        See Also:
        Constant Field Values
      • MINOR_VALUE_STRING_SHARED_2BYTE

        protected static final int MINOR_VALUE_STRING_SHARED_2BYTE
        See Also:
        Constant Field Values
      • MINOR_VALUE_BINARY_RAW_LEN

        protected static final int MINOR_VALUE_BINARY_RAW_LEN
        See Also:
        Constant Field Values
      • MINOR_VALUE_BINARY_RAW_BODY

        protected static final int MINOR_VALUE_BINARY_RAW_BODY
        See Also:
        Constant Field Values
      • MINOR_VALUE_BINARY_7BIT_LEN

        protected static final int MINOR_VALUE_BINARY_7BIT_LEN
        See Also:
        Constant Field Values
      • MINOR_VALUE_BINARY_7BIT_BODY

        protected static final int MINOR_VALUE_BINARY_7BIT_BODY
        See Also:
        Constant Field Values
      • _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 Detail

      • 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 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
      • 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​(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
      • _closeInput

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

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

        public boolean hasTextCharacters()
        Specified by:
        hasTextCharacters in class com.fasterxml.jackson.core.base.ParserMinimalBase
      • 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 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:
        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
      • getText

        public int getText​(java.io.Writer w)
                    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
      • _startArrayScope

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

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

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

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

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

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

        protected final java.lang.String _addDecodedToSymbols​(int len,
                                                              java.lang.String name)
                                                       throws java.io.IOException
        Throws:
        java.io.IOException
      • _expandSeenNames

        protected final java.lang.String[] _expandSeenNames​(java.lang.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 java.io.IOException
        Helper method called at point when all input has been exhausted and input feeder has indicated no more input will be forthcoming.
        Throws:
        java.io.IOException
      • _valueComplete

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

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

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

        protected final void _addSeenStringValue​(java.lang.String v)
                                          throws java.io.IOException
        Throws:
        java.io.IOException
      • _expandSeenStringValues

        private final void _expandSeenStringValues​(java.lang.String v)
      • _initByteArrayBuilder

        public void _initByteArrayBuilder()
      • _reportMissingHeader

        protected void _reportMissingHeader​(int unmaskedFirstByte)
                                     throws java.io.IOException
        Throws:
        java.io.IOException
      • _reportInvalidSharedName

        protected void _reportInvalidSharedName​(int index)
                                         throws java.io.IOException
        Throws:
        java.io.IOException
      • _reportInvalidSharedStringValue

        protected void _reportInvalidSharedStringValue​(int index)
                                                throws java.io.IOException
        Throws:
        java.io.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