public abstract class NonBlockingUtf8JsonParserBase extends NonBlockingJsonParserBase
NOTE: only supports parsing of UTF-8 encoded content (and 7-bit US-ASCII since it is strict subset of UTF-8): other encodings are not supported.
JsonParser.Feature, JsonParser.NumberType
Modifier and Type | Field and Description |
---|---|
protected static int[] |
_icLatin1 |
protected int |
_origBufferLen
In addition to current buffer pointer, and end pointer,
we will also need to know number of bytes originally
contained.
|
_currBufferStart, _currInputRowAlt, _endOfInput, _majorState, _majorStateAfterValue, _minorState, _minorStateAfterSplit, _nonStdTokenType, _pending32, _pendingBytes, _quad1, _quadBuffer, _quadLength, _quoted32, _quotedDigits, _symbols, MAJOR_ARRAY_ELEMENT_FIRST, MAJOR_ARRAY_ELEMENT_NEXT, MAJOR_CLOSED, MAJOR_INITIAL, MAJOR_OBJECT_FIELD_FIRST, MAJOR_OBJECT_FIELD_NEXT, MAJOR_OBJECT_VALUE, MAJOR_ROOT, MINOR_COMMENT_C, MINOR_COMMENT_CLOSING_ASTERISK, MINOR_COMMENT_CPP, MINOR_COMMENT_LEADING_SLASH, MINOR_COMMENT_YAML, MINOR_FIELD_APOS_NAME, MINOR_FIELD_LEADING_COMMA, MINOR_FIELD_LEADING_WS, MINOR_FIELD_NAME, MINOR_FIELD_NAME_ESCAPE, MINOR_FIELD_UNQUOTED_NAME, MINOR_NUMBER_EXPONENT_DIGITS, MINOR_NUMBER_EXPONENT_MARKER, MINOR_NUMBER_FRACTION_DIGITS, MINOR_NUMBER_INTEGER_DIGITS, MINOR_NUMBER_MINUS, MINOR_NUMBER_MINUSZERO, MINOR_NUMBER_PLUS, MINOR_NUMBER_ZERO, MINOR_ROOT_BOM, MINOR_ROOT_GOT_SEPARATOR, MINOR_ROOT_NEED_SEPARATOR, MINOR_VALUE_APOS_STRING, MINOR_VALUE_EXPECTING_COLON, MINOR_VALUE_EXPECTING_COMMA, MINOR_VALUE_LEADING_WS, MINOR_VALUE_STRING, MINOR_VALUE_STRING_ESCAPE, MINOR_VALUE_STRING_UTF8_2, MINOR_VALUE_STRING_UTF8_3, MINOR_VALUE_STRING_UTF8_4, MINOR_VALUE_TOKEN_ERROR, MINOR_VALUE_TOKEN_FALSE, MINOR_VALUE_TOKEN_NON_STD, MINOR_VALUE_TOKEN_NULL, MINOR_VALUE_TOKEN_TRUE, MINOR_VALUE_WS_AFTER_COMMA, NON_STD_TOKEN_INFINITY, NON_STD_TOKEN_MINUS_INFINITY, NON_STD_TOKEN_NAN, NON_STD_TOKEN_PLUS_INFINITY, NON_STD_TOKEN_VALUES, NON_STD_TOKENS
_binaryValue, _byteArrayBuilder, _closed, _currInputProcessed, _currInputRow, _currInputRowStart, _expLength, _fractLength, _inputEnd, _inputPtr, _intLength, _ioContext, _nameCopied, _nameCopyBuffer, _nextToken, _numberBigDecimal, _numberBigInt, _numberDouble, _numberFloat, _numberInt, _numberLong, _numberNegative, _numberString, _numTypesValid, _parsingContext, _textBuffer, _tokenInputCol, _tokenInputRow, _tokenInputTotal, JSON_READ_CAPABILITIES
_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
_features, _requestPayload, DEFAULT_READ_CAPABILITIES
Modifier | Constructor and Description |
---|---|
protected |
NonBlockingUtf8JsonParserBase(IOContext ctxt,
int parserFeatures,
ByteQuadsCanonicalizer sym) |
Modifier and Type | Method and Description |
---|---|
protected char |
_decodeEscaped()
Method that sub-classes must implement to support escaped sequences
in base64-encoded sections.
|
protected JsonToken |
_finishErrorToken() |
protected JsonToken |
_finishErrorTokenWithEOF() |
protected JsonToken |
_finishFieldWithEscape() |
protected JsonToken |
_finishFloatExponent(boolean checkSign,
int ch) |
protected JsonToken |
_finishFloatFraction() |
protected JsonToken |
_finishKeywordToken(String expToken,
int matched,
JsonToken result) |
protected JsonToken |
_finishKeywordTokenWithEOF(String expToken,
int matched,
JsonToken result) |
protected JsonToken |
_finishNonStdToken(int type,
int matched) |
protected JsonToken |
_finishNonStdTokenWithEOF(int type,
int matched) |
protected JsonToken |
_finishNumberIntegralPart(char[] outBuf,
int outPtr) |
protected JsonToken |
_finishNumberLeadingNegZeroes() |
protected JsonToken |
_finishNumberLeadingPosNegZeroes(boolean negative) |
protected JsonToken |
_finishNumberLeadingPosZeroes() |
protected JsonToken |
_finishNumberLeadingZeroes() |
protected JsonToken |
_finishNumberMinus(int ch) |
protected JsonToken |
_finishNumberPlus(int ch) |
protected JsonToken |
_finishNumberPlusMinus(int ch,
boolean negative) |
protected JsonToken |
_finishToken()
Method called when decoding of a token has been started, but not yet completed due
to missing input; method is to continue decoding due to at least one more byte
being made available to decode.
|
protected JsonToken |
_finishTokenWithEOF()
Method similar to
_finishToken() , but called when no more input is
available, and end-of-input has been detected. |
protected JsonToken |
_reportErrorToken(String actualToken) |
protected JsonToken |
_startAposString() |
protected JsonToken |
_startFalseToken() |
protected JsonToken |
_startFloat(char[] outBuf,
int outPtr,
int ch) |
protected JsonToken |
_startFloatThatStartsWithPeriod() |
protected JsonToken |
_startNegativeNumber() |
protected JsonToken |
_startNullToken() |
protected JsonToken |
_startNumberLeadingZero() |
protected JsonToken |
_startPositiveNumber() |
protected JsonToken |
_startPositiveNumber(int ch) |
protected JsonToken |
_startString() |
protected JsonToken |
_startTrueToken() |
protected JsonToken |
_startUnexpectedValue(boolean leadingComma,
int ch) |
void |
endOfInput() |
protected abstract byte |
getByteFromBuffer(int ptr) |
protected abstract byte |
getNextSignedByteFromBuffer() |
protected abstract int |
getNextUnsignedByteFromBuffer() |
boolean |
needMoreInput() |
JsonToken |
nextToken()
Main iteration method, which will advance stream enough
to determine type of the next token, if any.
|
_addName, _closeArrayScope, _closeInput, _closeObjectScope, _eofAsNextToken, _fieldComplete, _findName, _findName, _findName, _getText2, _nonStdToken, _padLastQuad, _releaseBuffers, _reportInvalidChar, _reportInvalidInitial, _reportInvalidOther, _reportInvalidOther, _startArrayScope, _startObjectScope, _updateTokenLocation, _valueComplete, _valueCompleteInt, _valueNonStdNumberComplete, canParseAsync, getBinaryValue, getCodec, getCurrentLocation, getEmbeddedObject, getInputSource, getReadCapabilities, getText, getText, getTextCharacters, getTextLength, getTextOffset, getTokenLocation, getValueAsString, getValueAsString, hasTextCharacters, readBinaryValue, releaseBuffered, setCodec, symbolTableForTests
_checkStdFeatureChanges, _contentReference, _decodeBase64Escape, _decodeBase64Escape, _eofAsNextChar, _finishString, _getBigDecimal, _getBigInteger, _getByteArrayBuilder, _getSourceReference, _handleBase64MissingPadding, _handleEOF, _handleUnrecognizedCharacterEscape, _parseIntValue, _parseNumericValue, _reportMismatchedEndMarker, _reportTooLongIntegral, _throwUnquotedSpace, _validJsonTokenList, _validJsonValueList, close, convertNumberToBigDecimal, convertNumberToBigInteger, convertNumberToDouble, convertNumberToFloat, convertNumberToInt, convertNumberToLong, disable, enable, getBigIntegerValue, getCurrentName, getCurrentValue, getDecimalValue, getDoubleValue, getFloatValue, getIntValue, getLongValue, getNumberType, getNumberValue, getNumberValueExact, getParsingContext, getTokenCharacterOffset, getTokenColumnNr, getTokenLineNr, growArrayBy, isClosed, isNaN, loadMore, loadMoreGuaranteed, overrideCurrentName, overrideStdFeatures, reportInvalidBase64Char, reportInvalidBase64Char, reset, resetAsNaN, resetFloat, resetInt, setCurrentValue, setFeatureMask, version
_ascii, _asciiBytes, _constructError, _decodeBase64, _getCharDesc, _hasTextualNull, _longIntegerDesc, _longNumberDesc, _reportError, _reportError, _reportError, _reportInputCoercion, _reportInvalidEOF, _reportInvalidEOF, _reportInvalidEOF, _reportInvalidEOFInValue, _reportInvalidEOFInValue, _reportMissingRootWS, _reportUnexpectedChar, _reportUnexpectedNumberChar, _throwInternal, _throwInvalidSpace, _wrapError, clearCurrentToken, currentToken, currentTokenId, getCurrentToken, getCurrentTokenId, getLastClearedToken, getValueAsBoolean, getValueAsDouble, getValueAsInt, getValueAsInt, getValueAsLong, getValueAsLong, hasCurrentToken, hasToken, hasTokenId, isExpectedNumberIntToken, isExpectedStartArrayToken, isExpectedStartObjectToken, nextValue, reportInvalidNumber, reportOverflowInt, reportOverflowInt, reportOverflowInt, reportOverflowLong, reportOverflowLong, reportOverflowLong, reportUnexpectedNumberChar, skipChildren
_codec, _constructError, _constructReadException, _constructReadException, _constructReadException, _constructReadException, _constructReadException, _reportUnsupportedOperation, assignCurrentValue, canReadObjectId, canReadTypeId, canUseSchema, configure, currentLocation, currentName, currentTokenLocation, currentValue, finishToken, getBinaryValue, getBooleanValue, getByteValue, getFeatureMask, getFormatFeatures, getNonBlockingInputFeeder, getObjectId, getSchema, getShortValue, getTypeId, getValueAsBoolean, getValueAsDouble, isEnabled, isEnabled, nextBooleanValue, nextFieldName, nextFieldName, nextIntValue, nextLongValue, nextTextValue, overrideFormatFeatures, readBinaryValue, readValueAs, readValueAs, readValueAsTree, readValuesAs, readValuesAs, releaseBuffered, requiresCustomCodec, setRequestPayloadOnError, setRequestPayloadOnError, setRequestPayloadOnError, setSchema
protected static final int[] _icLatin1
protected int _origBufferLen
protected NonBlockingUtf8JsonParserBase(IOContext ctxt, int parserFeatures, ByteQuadsCanonicalizer sym)
public final boolean needMoreInput()
public void endOfInput()
protected char _decodeEscaped() throws IOException
ParserBase
_decodeEscaped
in class ParserBase
IOException
- If escape decoding failspublic JsonToken nextToken() throws IOException
JsonParser
nextToken
in class ParserMinimalBase
IOException
- for low-level read issues, or
JsonParseException
for decoding problemsprotected abstract byte getNextSignedByteFromBuffer()
protected abstract int getNextUnsignedByteFromBuffer()
protected abstract byte getByteFromBuffer(int ptr)
ptr
- pointer to byte that is requiredprotected final JsonToken _finishToken() throws IOException
JsonToken.NOT_AVAILABLE
if notIOException
- (generally JsonParseException
) for decoding problemsprotected final JsonToken _finishTokenWithEOF() throws IOException
_finishToken()
, but called when no more input is
available, and end-of-input has been detected. This is usually problem
case, but not always: root-level values may be properly terminated by
this, and similarly trailing white-space may have been skipped.JsonToken.NOT_AVAILABLE
if notIOException
- (generally JsonParseException
) for decoding problemsprotected JsonToken _startUnexpectedValue(boolean leadingComma, int ch) throws IOException
IOException
protected JsonToken _startFalseToken() throws IOException
IOException
protected JsonToken _startTrueToken() throws IOException
IOException
protected JsonToken _startNullToken() throws IOException
IOException
protected JsonToken _finishKeywordToken(String expToken, int matched, JsonToken result) throws IOException
IOException
protected JsonToken _finishKeywordTokenWithEOF(String expToken, int matched, JsonToken result) throws IOException
IOException
protected JsonToken _finishNonStdToken(int type, int matched) throws IOException
IOException
protected JsonToken _finishNonStdTokenWithEOF(int type, int matched) throws IOException
IOException
protected JsonToken _finishErrorToken() throws IOException
IOException
protected JsonToken _finishErrorTokenWithEOF() throws IOException
IOException
protected JsonToken _reportErrorToken(String actualToken) throws IOException
IOException
protected JsonToken _startFloatThatStartsWithPeriod() throws IOException
IOException
protected JsonToken _startPositiveNumber(int ch) throws IOException
IOException
protected JsonToken _startNegativeNumber() throws IOException
IOException
protected JsonToken _startPositiveNumber() throws IOException
IOException
protected JsonToken _startNumberLeadingZero() throws IOException
IOException
protected JsonToken _finishNumberMinus(int ch) throws IOException
IOException
protected JsonToken _finishNumberPlus(int ch) throws IOException
IOException
protected JsonToken _finishNumberPlusMinus(int ch, boolean negative) throws IOException
IOException
protected JsonToken _finishNumberLeadingZeroes() throws IOException
IOException
protected JsonToken _finishNumberLeadingNegZeroes() throws IOException
IOException
protected JsonToken _finishNumberLeadingPosZeroes() throws IOException
IOException
protected JsonToken _finishNumberLeadingPosNegZeroes(boolean negative) throws IOException
IOException
protected JsonToken _finishNumberIntegralPart(char[] outBuf, int outPtr) throws IOException
IOException
protected JsonToken _startFloat(char[] outBuf, int outPtr, int ch) throws IOException
IOException
protected JsonToken _finishFloatFraction() throws IOException
IOException
protected JsonToken _finishFloatExponent(boolean checkSign, int ch) throws IOException
IOException
protected final JsonToken _finishFieldWithEscape() throws IOException
IOException
protected JsonToken _startString() throws IOException
IOException
protected JsonToken _startAposString() throws IOException
IOException
Copyright © 2008–2022 FasterXML. All rights reserved.