public class NonBlockingByteArrayParser extends NonBlockingParserBase implements com.fasterxml.jackson.core.async.ByteArrayFeeder
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.
|
_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
_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
_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
Constructor and Description |
---|
NonBlockingByteArrayParser(com.fasterxml.jackson.core.io.IOContext ctxt,
int parserFeatures,
int smileFeatures,
com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer sym) |
Modifier and Type | Method and Description |
---|---|
private boolean |
_decode7BitEncoded() |
protected boolean |
_decode7BitEncodedTail(int bytesToDecode,
int buffered) |
private java.lang.String |
_decodeASCIIText(byte[] inBuf,
int inPtr,
int len) |
private java.lang.String |
_decodeLongUnicodeName(byte[] inBuf,
int inPtr,
int len) |
private java.lang.String |
_decodeShortUnicodeText(byte[] inBuf,
int inPtr,
int len)
Helper method used to decode short Unicode string, length for which actual
length (in bytes) is known
|
private int |
_decodeUTF8_2(int c,
int d) |
private int |
_decodeUTF8_3(int c,
int d,
int e) |
private int |
_decodeUTF8_4(int c,
int d,
int e,
int f) |
private int |
_decodeVInt() |
private com.fasterxml.jackson.core.JsonToken |
_finish7BitBinaryBody() |
private com.fasterxml.jackson.core.JsonToken |
_finish7BitBinaryLen(int value,
int bytesRead) |
private com.fasterxml.jackson.core.JsonToken |
_finishBigDecimalBody() |
private com.fasterxml.jackson.core.JsonToken |
_finishBigDecimalLen(int value,
int bytesRead) |
private com.fasterxml.jackson.core.JsonToken |
_finishBigDecimalScale(int value,
int bytesRead) |
private com.fasterxml.jackson.core.JsonToken |
_finishBigIntBody() |
private com.fasterxml.jackson.core.JsonToken |
_finishBigIntLen(int value,
int bytesRead) |
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.
|
private com.fasterxml.jackson.core.JsonToken |
_finishInt(int value,
int bytesRead) |
private com.fasterxml.jackson.core.JsonToken |
_finishLong(long value,
int bytesRead) |
private com.fasterxml.jackson.core.JsonToken |
_finishLongASCII() |
private com.fasterxml.jackson.core.JsonToken |
_finishLongFieldName(int outPtr) |
private com.fasterxml.jackson.core.JsonToken |
_finishLongUnicode() |
private boolean |
_finishPartialUnicodeChar() |
private com.fasterxml.jackson.core.JsonToken |
_finishRawBinaryBody() |
private com.fasterxml.jackson.core.JsonToken |
_finishRawBinaryLen(int value,
int bytesRead) |
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.
|
private int |
_fourBytesToInt(int ptr) |
private com.fasterxml.jackson.core.JsonToken |
_start7BitBinary() |
private com.fasterxml.jackson.core.JsonToken |
_startBigDecimal() |
private com.fasterxml.jackson.core.JsonToken |
_startBigInt() |
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() |
private com.fasterxml.jackson.core.JsonToken |
_startInt() |
private com.fasterxml.jackson.core.JsonToken |
_startLong() |
private com.fasterxml.jackson.core.JsonToken |
_startLongASCII() |
protected com.fasterxml.jackson.core.JsonToken |
_startLongUnicode() |
protected com.fasterxml.jackson.core.JsonToken |
_startRawBinary() |
private com.fasterxml.jackson.core.JsonToken |
_startShortASCII(int len) |
private com.fasterxml.jackson.core.JsonToken |
_startShortUnicode(int len) |
private com.fasterxml.jackson.core.JsonToken |
_startValue(int ch)
Helper method called to detect type of a value token (at any level), and possibly
decode it if contained in input buffer.
|
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(java.io.OutputStream out) |
_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
_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
_ascii, _asciiBytes, _constructError, _decodeBase64, _getCharDesc, _handleUnrecognizedCharacterEscape, _hasTextualNull, _longIntegerDesc, _longNumberDesc, _reportError, _reportError, _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, reportInvalidNumber, reportOverflowInt, reportOverflowLong, reportUnexpectedNumberChar, skipChildren
_codec, _constructError, _reportUnsupportedOperation, canReadObjectId, canReadTypeId, canUseSchema, configure, currentName, disable, enable, finishToken, getBinaryValue, getBooleanValue, getByteValue, getCurrentValue, getFeatureMask, getObjectId, getSchema, getShortValue, getTypeId, getValueAsBoolean, getValueAsDouble, isEnabled, nextBooleanValue, nextFieldName, nextFieldName, nextIntValue, nextLongValue, nextTextValue, overrideStdFeatures, readBinaryValue, readValueAs, readValueAs, readValueAsTree, readValuesAs, readValuesAs, releaseBuffered, requiresCustomCodec, setCurrentValue, setFeatureMask, setRequestPayloadOnError, setRequestPayloadOnError, setRequestPayloadOnError, setSchema
protected byte[] _inputBuffer
NonBlockingInputFeeder
protected int _origBufferLen
public NonBlockingByteArrayParser(com.fasterxml.jackson.core.io.IOContext ctxt, int parserFeatures, int smileFeatures, com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer sym)
public com.fasterxml.jackson.core.async.ByteArrayFeeder getNonBlockingInputFeeder()
getNonBlockingInputFeeder
in class com.fasterxml.jackson.core.JsonParser
public final boolean needMoreInput()
needMoreInput
in interface com.fasterxml.jackson.core.async.NonBlockingInputFeeder
public void feedInput(byte[] buf, int start, int end) throws java.io.IOException
feedInput
in interface com.fasterxml.jackson.core.async.ByteArrayFeeder
java.io.IOException
public void endOfInput()
endOfInput
in interface com.fasterxml.jackson.core.async.NonBlockingInputFeeder
public int releaseBuffered(java.io.OutputStream out) throws java.io.IOException
releaseBuffered
in class NonBlockingParserBase
java.io.IOException
public com.fasterxml.jackson.core.JsonToken nextToken() throws java.io.IOException
nextToken
in class com.fasterxml.jackson.core.base.ParserMinimalBase
java.io.IOException
protected final com.fasterxml.jackson.core.JsonToken _finishToken() throws java.io.IOException
java.io.IOException
protected com.fasterxml.jackson.core.JsonToken _finishHeader(int state) throws java.io.IOException
java.io.IOException
private final com.fasterxml.jackson.core.JsonToken _startValue(int ch) throws java.io.IOException
java.io.IOException
protected final com.fasterxml.jackson.core.JsonToken _startFieldName(int ch) throws java.io.IOException
java.io.IOException
private final com.fasterxml.jackson.core.JsonToken _finishLongFieldName(int outPtr) throws java.io.IOException
java.io.IOException
private final com.fasterxml.jackson.core.JsonToken _startShortASCII(int len) throws java.io.IOException
java.io.IOException
private final com.fasterxml.jackson.core.JsonToken _startShortUnicode(int len) throws java.io.IOException
java.io.IOException
private final com.fasterxml.jackson.core.JsonToken _startLongASCII() throws java.io.IOException
java.io.IOException
private final com.fasterxml.jackson.core.JsonToken _finishLongASCII() throws java.io.IOException
java.io.IOException
protected final com.fasterxml.jackson.core.JsonToken _startLongUnicode() throws java.io.IOException
java.io.IOException
private final com.fasterxml.jackson.core.JsonToken _finishLongUnicode() throws java.io.IOException
java.io.IOException
private final boolean _finishPartialUnicodeChar() throws java.io.IOException
java.io.IOException
private final int _decodeUTF8_2(int c, int d) throws java.io.IOException
java.io.IOException
private final int _decodeUTF8_3(int c, int d, int e) throws java.io.IOException
java.io.IOException
private final int _decodeUTF8_4(int c, int d, int e, int f) throws java.io.IOException
java.io.IOException
private final com.fasterxml.jackson.core.JsonToken _startInt() throws java.io.IOException
java.io.IOException
private final com.fasterxml.jackson.core.JsonToken _finishInt(int value, int bytesRead) throws java.io.IOException
java.io.IOException
private final com.fasterxml.jackson.core.JsonToken _startLong() throws java.io.IOException
java.io.IOException
private final com.fasterxml.jackson.core.JsonToken _finishLong(long value, int bytesRead) throws java.io.IOException
java.io.IOException
private final com.fasterxml.jackson.core.JsonToken _startBigInt() throws java.io.IOException
java.io.IOException
private final com.fasterxml.jackson.core.JsonToken _finishBigIntLen(int value, int bytesRead) throws java.io.IOException
java.io.IOException
private final com.fasterxml.jackson.core.JsonToken _finishBigIntBody() throws java.io.IOException
java.io.IOException
protected final com.fasterxml.jackson.core.JsonToken _startFloat() throws java.io.IOException
java.io.IOException
protected final com.fasterxml.jackson.core.JsonToken _finishFloat(int value, int bytesRead) throws java.io.IOException
java.io.IOException
protected final com.fasterxml.jackson.core.JsonToken _startDouble() throws java.io.IOException
java.io.IOException
protected final com.fasterxml.jackson.core.JsonToken _finishDouble(long value, int bytesRead) throws java.io.IOException
java.io.IOException
private final com.fasterxml.jackson.core.JsonToken _startBigDecimal() throws java.io.IOException
java.io.IOException
private final com.fasterxml.jackson.core.JsonToken _finishBigDecimalScale(int value, int bytesRead) throws java.io.IOException
java.io.IOException
private final com.fasterxml.jackson.core.JsonToken _finishBigDecimalLen(int value, int bytesRead) throws java.io.IOException
java.io.IOException
private final com.fasterxml.jackson.core.JsonToken _finishBigDecimalBody() throws java.io.IOException
java.io.IOException
protected final com.fasterxml.jackson.core.JsonToken _startRawBinary() throws java.io.IOException
java.io.IOException
private final com.fasterxml.jackson.core.JsonToken _finishRawBinaryLen(int value, int bytesRead) throws java.io.IOException
java.io.IOException
private final com.fasterxml.jackson.core.JsonToken _finishRawBinaryBody() throws java.io.IOException
java.io.IOException
private final com.fasterxml.jackson.core.JsonToken _start7BitBinary() throws java.io.IOException
java.io.IOException
private final com.fasterxml.jackson.core.JsonToken _finish7BitBinaryLen(int value, int bytesRead) throws java.io.IOException
java.io.IOException
private final com.fasterxml.jackson.core.JsonToken _finish7BitBinaryBody() throws java.io.IOException
java.io.IOException
private final java.lang.String _decodeASCIIText(byte[] inBuf, int inPtr, int len) throws java.io.IOException
java.io.IOException
private final java.lang.String _decodeShortUnicodeText(byte[] inBuf, int inPtr, int len) throws java.io.IOException
len
- Length between 1 and 64java.io.IOException
private final java.lang.String _decodeLongUnicodeName(byte[] inBuf, int inPtr, int len) throws java.io.IOException
java.io.IOException
private final int _fourBytesToInt(int ptr) throws java.io.IOException
java.io.IOException
private final int _decodeVInt() throws java.io.IOException
java.io.IOException
private final boolean _decode7BitEncoded() throws java.io.IOException
java.io.IOException
protected final boolean _decode7BitEncodedTail(int bytesToDecode, int buffered) throws java.io.IOException
java.io.IOException