public class NonBlockingParserImpl extends com.fasterxml.jackson.core.base.ParserBase implements NonBlockingParser, NonBlockingInputFeeder
| Modifier and Type | Field and Description | 
|---|---|
| protected boolean | _cfgRequireHeader | 
| protected int | _currQuadBytes parsed for the current, incomplete, quad | 
| protected int | _currQuadBytesNumber of bytes pending/buffered, stored in  _currQuad | 
| protected boolean | _endOfInputFlag that is sent when calling application indicates that there will
 be no more input to parse. | 
| protected boolean | _got32BitFloatSpecific 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[] | _inputBufferThis buffer is actually provided via  NonBlockingInputFeeder | 
| protected boolean | _mayContainRawBinaryFlag that indicates whether content can legally have raw (unquoted)
 binary data. | 
| protected com.fasterxml.jackson.core.ObjectCodec | _objectCodecCodec used for data binding when (if) requested. | 
| protected int | _origBufferLenIn addition to current buffer pointer, and end pointer,
 we will also need to know number of bytes originally
 contained. | 
| protected int | _pendingIntFor 32-bit values, we may use this for combining values | 
| protected long | _pendingLongFor 64-bit values, we may use this for combining values | 
| protected int[] | _quadBufferTemporary buffer used for name parsing. | 
| protected int | _quadCountNumber of complete quads parsed for current name (quads
 themselves are stored in  _quadBuffer). | 
| protected int | _seenNameCount | 
| protected String[] | _seenNamesArray of recently seen field names, which may be back referenced
 by later fields. | 
| protected int | _seenStringValueCount | 
| protected String[] | _seenStringValuesArray 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> | _smileBufferRecyclerHelper object used for low-level recycling of Smile-generator
 specific buffers. | 
| protected static ThreadLocal<SoftReference<SmileBufferRecycler<String>>> | _smileRecyclerRefThreadLocalcontains aSoftReferenceto a buffer recycler used to provide a low-cost
 buffer recycling for Smile-specific buffers. | 
| protected int | _stateCurrent main decoding state | 
| protected int | _substateAddition indicator within state; contextually relevant for just that state | 
| protected com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer | _symbolsSymbol table that contains field names encountered so far | 
| protected boolean | _tokenIncompleteFlag 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_HEADERState for recognized header marker, either in-feed or initial. | 
| protected static int | STATE_INITIALState 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_COMPLETEState in which we are right after decoding a full token. | 
_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| 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) | 
| 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 whatNonBlockingInputFeeder.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() | 
_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_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_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, setSchemaprotected static final int STATE_INITIAL
protected static final int STATE_HEADER
protected static final int STATE_TOKEN_COMPLETE
protected static final int STATE_NUMBER_INT
protected static final int STATE_NUMBER_LONG
protected static final int STATE_NUMBER_BIGINT
protected static final int STATE_NUMBER_FLOAT
protected static final int STATE_NUMBER_DOUBLE
protected static final int STATE_NUMBER_BIGDEC
protected static final int STATE_SHORT_ASCII
protected static final int STATE_SHORT_UNICODE
protected static final int STATE_LONG_ASCII
protected static final int STATE_LONG_UNICODE
protected static final int STATE_LONG_SHARED
protected static final int STATE_RAW_BINARY
protected static final int STATE_QUOTED_BINARY
protected com.fasterxml.jackson.core.ObjectCodec _objectCodec
protected boolean _mayContainRawBinary
protected final boolean _cfgRequireHeader
protected final SmileBufferRecycler<String> _smileBufferRecycler
protected byte[] _inputBuffer
NonBlockingInputFeederprotected int _origBufferLen
protected int _state
protected int _substate
protected boolean _tokenIncomplete
protected boolean _got32BitFloat
protected int _pendingInt
protected long _pendingLong
protected boolean _endOfInput
protected final com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer _symbols
protected int[] _quadBuffer
protected int _quadCount
_quadBuffer).protected int _currQuad
protected int _currQuadBytes
_currQuadprotected String[] _seenNames
protected int _seenNameCount
protected String[] _seenStringValues
protected int _seenStringValueCount
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.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)
public com.fasterxml.jackson.core.ObjectCodec getCodec()
getCodec in class com.fasterxml.jackson.core.JsonParserpublic void setCodec(com.fasterxml.jackson.core.ObjectCodec c)
setCodec in class com.fasterxml.jackson.core.JsonParserprotected boolean handleSignature(boolean consumeFirstByte,
                      boolean throwException)
                           throws IOException
IOExceptionprotected static final SmileBufferRecycler<String> _smileBufferRecycler()
public com.fasterxml.jackson.core.Version version()
version in interface com.fasterxml.jackson.core.Versionedversion in class com.fasterxml.jackson.core.base.ParserBasepublic int releaseBuffered(OutputStream out) throws IOException
releaseBuffered in class com.fasterxml.jackson.core.JsonParserIOExceptionpublic Object getInputSource()
getInputSource in class com.fasterxml.jackson.core.JsonParserpublic com.fasterxml.jackson.core.JsonLocation getTokenLocation()
getTokenLocation in class com.fasterxml.jackson.core.base.ParserBasepublic com.fasterxml.jackson.core.JsonLocation getCurrentLocation()
getCurrentLocation in class com.fasterxml.jackson.core.base.ParserBaseprotected final boolean _loadToHaveAtLeast(int minAvailable)
                                    throws IOException
IOExceptionprotected void _closeInput()
                    throws IOException
_closeInput in class com.fasterxml.jackson.core.base.ParserBaseIOExceptionpublic void close()
           throws IOException
close in interface Closeableclose in interface AutoCloseableclose in class com.fasterxml.jackson.core.base.ParserBaseIOExceptionpublic boolean hasTextCharacters()
hasTextCharacters in class com.fasterxml.jackson.core.base.ParserBaseprotected void _releaseBuffers()
                        throws IOException
_closeInput() (for
 example, when explicitly closing this reader instance), or
 separately (if need be)._releaseBuffers in class com.fasterxml.jackson.core.base.ParserBaseIOExceptionpublic boolean mayContainRawBinary()
public com.fasterxml.jackson.core.JsonToken nextToken()
                                               throws IOException
nextToken in class com.fasterxml.jackson.core.base.ParserMinimalBaseIOExceptionpublic String getCurrentName() throws IOException
getCurrentName in class com.fasterxml.jackson.core.base.ParserBaseIOExceptionpublic com.fasterxml.jackson.core.JsonParser.NumberType getNumberType()
                                                               throws IOException
getNumberType in class com.fasterxml.jackson.core.base.ParserBaseIOExceptionpublic final boolean needMoreInput()
NonBlockingInputFeederneedMoreInput in interface NonBlockingInputFeederpublic void feedInput(byte[] buf,
             int start,
             int len)
               throws IOException
NonBlockingInputFeederNonBlockingInputFeeder.needMoreInput() returns true.feedInput in interface NonBlockingInputFeederbuf - 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 startslen - Length of input data within array to process.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)public void endOfInput()
NonBlockingInputFeederNonBlockingInputFeeder.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.endOfInput in interface NonBlockingInputFeederpublic com.fasterxml.jackson.core.JsonToken peekNextToken()
                                                   throws IOException
NonBlockingParserJsonParser.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).peekNextToken in interface NonBlockingParserJsonParser.nextToken(), if knownIOExceptionpublic String getText() throws IOException
nextToken(), or
 after encountering end-of-input), returns null.
 Method can be called for any event.getText in class com.fasterxml.jackson.core.base.ParserMinimalBaseIOExceptionpublic char[] getTextCharacters()
                         throws IOException
getTextCharacters in class com.fasterxml.jackson.core.base.ParserMinimalBaseIOExceptionpublic int getTextLength()
                  throws IOException
getTextLength in class com.fasterxml.jackson.core.base.ParserMinimalBaseIOExceptionpublic int getTextOffset()
                  throws IOException
getTextOffset in class com.fasterxml.jackson.core.base.ParserMinimalBaseIOExceptionpublic int getText(Writer w) throws IOException
getText in class com.fasterxml.jackson.core.JsonParserIOExceptionpublic byte[] getBinaryValue(com.fasterxml.jackson.core.Base64Variant b64variant)
                      throws IOException
getBinaryValue in class com.fasterxml.jackson.core.base.ParserBaseIOExceptionpublic Object getEmbeddedObject() throws IOException
getEmbeddedObject in class com.fasterxml.jackson.core.JsonParserIOExceptionpublic int readBinaryValue(com.fasterxml.jackson.core.Base64Variant b64variant,
                  OutputStream out)
                    throws IOException
readBinaryValue in class com.fasterxml.jackson.core.JsonParserIOExceptionprotected final com.fasterxml.jackson.core.JsonToken _handleFieldName()
                                                               throws IOException
IOExceptionprotected void _parseNumericValue(int expType)
                           throws IOException
_parseNumericValue in class com.fasterxml.jackson.core.base.ParserBaseIOExceptionprotected final com.fasterxml.jackson.core.JsonToken _finishToken()
                                                           throws IOException
IOExceptionprotected final void _loadMoreGuaranteed()
                                  throws IOException
IOExceptionprotected void _reportInvalidSharedName(int index)
                                 throws IOException
IOExceptionprotected void _reportInvalidSharedStringValue(int index)
                                        throws IOException
IOExceptionprotected void _reportInvalidChar(int c)
                           throws com.fasterxml.jackson.core.JsonParseException
com.fasterxml.jackson.core.JsonParseExceptionprotected void _reportInvalidInitial(int mask)
                              throws com.fasterxml.jackson.core.JsonParseException
com.fasterxml.jackson.core.JsonParseExceptionprotected void _reportInvalidOther(int mask)
                            throws com.fasterxml.jackson.core.JsonParseException
com.fasterxml.jackson.core.JsonParseExceptionprotected void _reportInvalidOther(int mask,
                       int ptr)
                            throws com.fasterxml.jackson.core.JsonParseException
com.fasterxml.jackson.core.JsonParseExceptionprotected void _throwInvalidState(String desc)
Copyright © 2016 FasterXML. All rights reserved.