public abstract class SmileParserBase
extends com.fasterxml.jackson.core.base.ParserMinimalBase
Modifier and Type | Field and Description |
---|---|
protected byte[] |
_binaryValue
We will hold on to decoded binary data, for duration of
current event, so that multiple calls to
ParserMinimalBase.getBinaryValue(com.fasterxml.jackson.core.Base64Variant) will not need to decode data more
than once. |
protected boolean |
_closed
Flag that indicates whether parser is closed or not.
|
protected long |
_currInputProcessed
Number of characters/bytes that were contained in previous blocks
(blocks that were already processed prior to the current buffer).
|
protected int |
_formatFeatures
Bit flag composed of bits that indicate which
SmileParser.Feature s are enabled. |
protected int |
_inputEnd
Index of character after last available one in the buffer.
|
protected int |
_inputPtr
Pointer to next available character in buffer
|
protected com.fasterxml.jackson.core.io.IOContext |
_ioContext
I/O context for this reader.
|
protected boolean |
_mayContainRawBinary
Flag that indicates whether content can legally have raw (unquoted)
binary data.
|
protected boolean |
_nameCopied
Flag set to indicate whether the field name is available
from the name copy buffer or not (in addition to its String
representation being available via read context)
|
protected char[] |
_nameCopyBuffer
Temporary buffer that is needed if field name is accessed
using
ParserMinimalBase.getTextCharacters() method (instead of String
returning alternatives) |
protected java.math.BigDecimal |
_numberBigDecimal |
protected java.math.BigInteger |
_numberBigInt |
protected double |
_numberDouble |
protected float |
_numberFloat |
protected int |
_numberInt |
protected long |
_numberLong |
protected com.fasterxml.jackson.core.JsonParser.NumberType |
_numberType |
protected int |
_numTypesValid
Bitfield that indicates which numeric representations
have been calculated for the current type
|
protected com.fasterxml.jackson.core.json.JsonReadContext |
_parsingContext
Information about parser context, context in which
the next token is to be parsed (root, array, object).
|
protected int |
_quad1
Quads used for hash calculation
|
protected int |
_quad2
Quads used for hash calculation
|
protected int |
_quad3
Quads used for hash calculation
|
protected int[] |
_quadBuffer
Temporary buffer used for name parsing.
|
protected int |
_seenNameCount |
protected java.lang.String[] |
_seenNames
Array of recently seen field names, which may be back referenced
by later fields.
|
protected int |
_seenStringValueCount |
protected java.lang.String[] |
_seenStringValues
Array of recently seen field names, which may be back referenced
by later fields
Defaults set to disable handling if no header found.
|
protected SmileBufferRecycler<java.lang.String> |
_smileBufferRecycler
Helper object used for low-level recycling of Smile-generator
specific buffers.
|
protected static java.lang.ThreadLocal<java.lang.ref.SoftReference<SmileBufferRecycler<java.lang.String>>> |
_smileRecyclerRef
ThreadLocal contains a SoftReference
to a buffer recycler used to provide a low-cost
buffer recycling for Smile-specific buffers. |
protected com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer |
_symbols
Symbol table that contains field names encountered so far
|
protected com.fasterxml.jackson.core.util.TextBuffer |
_textBuffer
Buffer that contains contents of String values, including
field names if necessary (name split across boundary,
contains escape sequence, or access needed to char array)
|
protected int |
_tokenOffsetForTotal
Alternative to
#_tokenInputTotal that will only contain
offset within input buffer, as int. |
protected static java.lang.String[] |
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 |
---|
SmileParserBase(com.fasterxml.jackson.core.io.IOContext ctxt,
int parserFeatures,
int formatFeatures,
com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer sym) |
Modifier and Type | Method and Description |
---|---|
protected abstract void |
_closeInput() |
protected java.lang.Object |
_getSourceReference()
Helper method used to encapsulate logic of including (or not) of
"source reference" when constructing
JsonLocation instances. |
protected void |
_handleEOF()
Method called when an EOF is encountered between tokens.
|
protected abstract void |
_parseNumericValue() |
protected void |
_releaseBuffers() |
protected abstract void |
_releaseBuffers2() |
protected void |
_reportMismatchedEndMarker(int actCh,
char expCh) |
protected static SmileBufferRecycler<java.lang.String> |
_smileBufferRecycler() |
void |
close() |
protected void |
convertNumberToBigDecimal() |
protected void |
convertNumberToBigInteger() |
protected void |
convertNumberToDouble() |
protected void |
convertNumberToFloat() |
protected void |
convertNumberToInt() |
protected void |
convertNumberToLong() |
java.math.BigInteger |
getBigIntegerValue() |
com.fasterxml.jackson.core.JsonLocation |
getCurrentLocation()
Overridden since we do not really have character-based locations,
but we do have byte offset to specify.
|
java.lang.String |
getCurrentName()
Method that can be called to get the name associated with
the current event.
|
java.math.BigDecimal |
getDecimalValue() |
double |
getDoubleValue() |
float |
getFloatValue() |
int |
getFormatFeatures() |
int |
getIntValue() |
long |
getLongValue() |
com.fasterxml.jackson.core.JsonParser.NumberType |
getNumberType() |
java.lang.Number |
getNumberValue() |
com.fasterxml.jackson.core.json.JsonReadContext |
getParsingContext() |
com.fasterxml.jackson.core.JsonLocation |
getTokenLocation()
Overridden since we do not really have character-based locations,
but we do have byte offset to specify.
|
boolean |
isClosed() |
boolean |
isNaN() |
boolean |
mayContainRawBinary() |
void |
overrideCurrentName(java.lang.String name) |
com.fasterxml.jackson.core.JsonParser |
overrideFormatFeatures(int values,
int mask) |
com.fasterxml.jackson.core.Version |
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, getBinaryValue, getCurrentToken, getCurrentTokenId, getLastClearedToken, getText, getTextCharacters, getTextLength, getTextOffset, getValueAsBoolean, getValueAsDouble, getValueAsInt, getValueAsInt, getValueAsLong, getValueAsLong, getValueAsString, getValueAsString, hasCurrentToken, hasTextCharacters, hasToken, hasTokenId, isExpectedStartArrayToken, isExpectedStartObjectToken, nextToken, nextValue, reportInvalidNumber, reportOverflowInt, reportOverflowLong, reportUnexpectedNumberChar, skipChildren
_codec, _constructError, _reportUnsupportedOperation, canParseAsync, canReadObjectId, canReadTypeId, canUseSchema, configure, currentName, disable, enable, finishToken, getBinaryValue, getBooleanValue, getByteValue, getCodec, getCurrentValue, getEmbeddedObject, getFeatureMask, getInputSource, getNonBlockingInputFeeder, getObjectId, getSchema, getShortValue, getText, getTypeId, getValueAsBoolean, getValueAsDouble, isEnabled, nextBooleanValue, nextFieldName, nextFieldName, nextIntValue, nextLongValue, nextTextValue, overrideStdFeatures, readBinaryValue, readBinaryValue, readValueAs, readValueAs, readValueAsTree, readValuesAs, readValuesAs, releaseBuffered, releaseBuffered, requiresCustomCodec, setCodec, setCurrentValue, setFeatureMask, setRequestPayloadOnError, setRequestPayloadOnError, setRequestPayloadOnError, setSchema
protected static final java.lang.String[] NO_STRINGS
protected int _formatFeatures
SmileParser.Feature
s are enabled.
NOTE: currently the only feature (SmileParser.Feature.REQUIRE_HEADER
takes effect during bootstrapping.
protected boolean _mayContainRawBinary
protected final com.fasterxml.jackson.core.io.IOContext _ioContext
protected boolean _closed
close()
) or when end-of-input is reached.protected int _inputPtr
protected int _inputEnd
protected long _currInputProcessed
protected int _tokenOffsetForTotal
#_tokenInputTotal
that will only contain
offset within input buffer, as int.protected com.fasterxml.jackson.core.json.JsonReadContext _parsingContext
protected final com.fasterxml.jackson.core.util.TextBuffer _textBuffer
protected char[] _nameCopyBuffer
ParserMinimalBase.getTextCharacters()
method (instead of String
returning alternatives)protected boolean _nameCopied
protected byte[] _binaryValue
ParserMinimalBase.getBinaryValue(com.fasterxml.jackson.core.Base64Variant)
will not need to decode data more
than once.protected com.fasterxml.jackson.core.JsonParser.NumberType _numberType
protected int _numTypesValid
protected java.math.BigInteger _numberBigInt
protected java.math.BigDecimal _numberBigDecimal
protected int _numberInt
protected float _numberFloat
protected long _numberLong
protected double _numberDouble
protected final com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer _symbols
protected int[] _quadBuffer
protected int _quad1
protected int _quad2
protected int _quad3
protected java.lang.String[] _seenNames
protected int _seenNameCount
protected java.lang.String[] _seenStringValues
protected int _seenStringValueCount
protected static final java.lang.ThreadLocal<java.lang.ref.SoftReference<SmileBufferRecycler<java.lang.String>>> _smileRecyclerRef
ThreadLocal
contains a SoftReference
to a buffer recycler used to provide a low-cost
buffer recycling for Smile-specific buffers.protected final SmileBufferRecycler<java.lang.String> _smileBufferRecycler
public SmileParserBase(com.fasterxml.jackson.core.io.IOContext ctxt, int parserFeatures, int formatFeatures, com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer sym)
protected static final SmileBufferRecycler<java.lang.String> _smileBufferRecycler()
public final com.fasterxml.jackson.core.Version version()
version
in interface com.fasterxml.jackson.core.Versioned
version
in class com.fasterxml.jackson.core.JsonParser
public final boolean mayContainRawBinary()
public final int getFormatFeatures()
getFormatFeatures
in class com.fasterxml.jackson.core.JsonParser
public final com.fasterxml.jackson.core.JsonParser overrideFormatFeatures(int values, int mask)
overrideFormatFeatures
in class com.fasterxml.jackson.core.JsonParser
protected abstract void _closeInput() throws java.io.IOException
java.io.IOException
protected abstract void _parseNumericValue() throws java.io.IOException
java.io.IOException
public final com.fasterxml.jackson.core.JsonLocation getTokenLocation()
getTokenLocation
in class com.fasterxml.jackson.core.JsonParser
public final com.fasterxml.jackson.core.JsonLocation getCurrentLocation()
getCurrentLocation
in class com.fasterxml.jackson.core.JsonParser
public final java.lang.String getCurrentName() throws java.io.IOException
getCurrentName
in class com.fasterxml.jackson.core.base.ParserMinimalBase
java.io.IOException
public final void overrideCurrentName(java.lang.String name)
overrideCurrentName
in class com.fasterxml.jackson.core.base.ParserMinimalBase
public final void close() throws java.io.IOException
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
close
in class com.fasterxml.jackson.core.base.ParserMinimalBase
java.io.IOException
protected final void _releaseBuffers() throws java.io.IOException
java.io.IOException
protected abstract void _releaseBuffers2()
public final boolean isClosed()
isClosed
in class com.fasterxml.jackson.core.base.ParserMinimalBase
public final com.fasterxml.jackson.core.json.JsonReadContext getParsingContext()
getParsingContext
in class com.fasterxml.jackson.core.base.ParserMinimalBase
public final boolean isNaN() throws java.io.IOException
isNaN
in class com.fasterxml.jackson.core.JsonParser
java.io.IOException
public final java.lang.Number getNumberValue() throws java.io.IOException
getNumberValue
in class com.fasterxml.jackson.core.JsonParser
java.io.IOException
public final com.fasterxml.jackson.core.JsonParser.NumberType getNumberType() throws java.io.IOException
getNumberType
in class com.fasterxml.jackson.core.JsonParser
java.io.IOException
public final int getIntValue() throws java.io.IOException
getIntValue
in class com.fasterxml.jackson.core.JsonParser
java.io.IOException
public final long getLongValue() throws java.io.IOException
getLongValue
in class com.fasterxml.jackson.core.JsonParser
java.io.IOException
public final java.math.BigInteger getBigIntegerValue() throws java.io.IOException
getBigIntegerValue
in class com.fasterxml.jackson.core.JsonParser
java.io.IOException
public final float getFloatValue() throws java.io.IOException
getFloatValue
in class com.fasterxml.jackson.core.JsonParser
java.io.IOException
public final double getDoubleValue() throws java.io.IOException
getDoubleValue
in class com.fasterxml.jackson.core.JsonParser
java.io.IOException
public final java.math.BigDecimal getDecimalValue() throws java.io.IOException
getDecimalValue
in class com.fasterxml.jackson.core.JsonParser
java.io.IOException
protected final void convertNumberToInt() throws java.io.IOException
java.io.IOException
protected final void convertNumberToLong() throws java.io.IOException
java.io.IOException
protected final void convertNumberToBigInteger() throws java.io.IOException
java.io.IOException
protected final void convertNumberToFloat() throws java.io.IOException
java.io.IOException
protected final void convertNumberToDouble() throws java.io.IOException
java.io.IOException
protected final void convertNumberToBigDecimal() throws java.io.IOException
java.io.IOException
protected void _handleEOF() throws com.fasterxml.jackson.core.JsonParseException
_handleEOF
in class com.fasterxml.jackson.core.base.ParserMinimalBase
com.fasterxml.jackson.core.JsonParseException
protected void _reportMismatchedEndMarker(int actCh, char expCh) throws com.fasterxml.jackson.core.JsonParseException
com.fasterxml.jackson.core.JsonParseException
protected java.lang.Object _getSourceReference()
JsonLocation
instances.