public class SmileParser extends SmileParserBase
Modifier and Type | Class and Description |
---|---|
static class |
SmileParser.Feature
Enumeration that defines all togglable features for Smile generators.
|
Modifier and Type | Field and Description |
---|---|
protected boolean |
_bufferRecyclable
Flag that indicates whether the input buffer is recycable (and
needs to be returned to recycler once we are done) or not.
|
protected byte[] |
_inputBuffer
Current buffer from which data is read; generally data is read into
buffer from input source, but in some cases pre-loaded buffer
is handed to the parser.
|
protected java.io.InputStream |
_inputStream
Input stream that can be used for reading more content, if one
in use.
|
protected com.fasterxml.jackson.core.ObjectCodec |
_objectCodec
Codec used for data binding when (if) requested.
|
protected boolean |
_tokenIncomplete
Flag 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 int |
_typeAsInt
Type byte of the current token (as in)
|
_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 |
---|
SmileParser(com.fasterxml.jackson.core.io.IOContext ctxt,
int parserFeatures,
int smileFeatures,
com.fasterxml.jackson.core.ObjectCodec codec,
com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer sym,
java.io.InputStream in,
byte[] inputBuffer,
int start,
int end,
boolean bufferRecyclable) |
Modifier and Type | Method and Description |
---|---|
private java.lang.String |
_addDecodedToSymbols(int len,
java.lang.String name) |
private com.fasterxml.jackson.core.JsonToken |
_addSeenStringValue() |
protected void |
_closeInput() |
private void |
_decodeLongAscii() |
private void |
_decodeLongUnicode() |
private java.lang.String |
_decodeLongUnicodeName(int[] quads,
int byteLen,
int quadLen) |
private java.lang.String |
_decodeShortAsciiName(int len) |
protected java.lang.String |
_decodeShortAsciiValue(int len) |
private java.lang.String |
_decodeShortUnicodeName(int len)
Helper method used to decode short Unicode string, length for which actual
length (in bytes) is known
|
protected java.lang.String |
_decodeShortUnicodeValue(int len) |
private int |
_decodeUtf8_2(int c) |
private int |
_decodeUtf8_3(int c1) |
private int |
_decodeUtf8_3fast(int c1) |
private int |
_decodeUtf8_4(int c) |
private com.fasterxml.jackson.core.JsonToken |
_eofAsNextToken() |
private java.lang.String[] |
_expandSeenNames(java.lang.String[] oldShared)
Method called to try to expand shared name area to fit one more potentially
shared String.
|
private void |
_expandSeenStringValues(java.lang.String newText) |
private java.lang.String |
_findDecodedFromSymbols(int len)
Helper method for trying to find specified encoded UTF-8 byte sequence
from symbol table; if successful avoids actual decoding to String
|
private java.lang.String |
_findDecodedLong(int len,
int q1,
int q2)
Method for locating names longer than 8 bytes (in UTF-8)
|
private void |
_finishBigDecimal() |
private void |
_finishBigInteger() |
private void |
_finishDouble() |
private void |
_finishFloat() |
private void |
_finishInt() |
private void |
_finishIntSlow() |
private void |
_finishLong() |
private void |
_finishLongSlow() |
protected void |
_finishNumberToken(int tb) |
private void |
_finishRawBinary() |
protected void |
_finishToken()
Method called to finish parsing of a token so that token contents
are retrievable
|
private int |
_fourBytesToInt() |
private int |
_fourBytesToIntSlow() |
private static int[] |
_growArrayTo(int[] arr,
int minSize) |
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.
|
private void |
_handleLongFieldName() |
private com.fasterxml.jackson.core.JsonToken |
_handleSharedString(int index) |
protected boolean |
_loadMore() |
protected void |
_loadMoreGuaranteed() |
protected void |
_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
|
private byte |
_nextByteGuaranteed() |
protected void |
_parseNumericValue() |
private byte[] |
_read7BitBinaryWithLength() |
private void |
_readBinaryEncoded(java.io.OutputStream out,
int length,
byte[] buffer) |
private int |
_readUnsignedVInt() |
protected void |
_releaseBuffers2()
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 void |
_skip7BitBinary()
Helper method for skipping length-prefixed binary data
section
|
protected void |
_skipBytes(int len) |
protected void |
_skipIncomplete()
Method called to skip remainders of an incomplete token, when
contents themselves will not be needed any more
|
void |
finishToken()
Method for forcing full read of current token, even if it might otherwise
only be read if data is accessed via
getText() and similar methods. |
byte[] |
getBinaryValue(com.fasterxml.jackson.core.Base64Variant b64variant) |
com.fasterxml.jackson.core.ObjectCodec |
getCodec() |
java.lang.Object |
getEmbeddedObject() |
java.lang.Object |
getInputSource() |
java.lang.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(java.io.Writer writer) |
char[] |
getTextCharacters() |
int |
getTextLength() |
int |
getTextOffset() |
java.lang.String |
getValueAsString() |
java.lang.String |
getValueAsString(java.lang.String defaultValue) |
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() |
java.lang.Boolean |
nextBooleanValue() |
java.lang.String |
nextFieldName() |
boolean |
nextFieldName(com.fasterxml.jackson.core.SerializableString str) |
int |
nextIntValue(int defaultValue) |
long |
nextLongValue(long defaultValue) |
java.lang.String |
nextTextValue() |
com.fasterxml.jackson.core.JsonToken |
nextToken() |
int |
readBinaryValue(com.fasterxml.jackson.core.Base64Variant b64variant,
java.io.OutputStream out) |
int |
releaseBuffered(java.io.OutputStream out) |
void |
setCodec(com.fasterxml.jackson.core.ObjectCodec c) |
_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, hasCurrentToken, hasToken, hasTokenId, isExpectedStartArrayToken, isExpectedStartObjectToken, nextValue, reportInvalidNumber, reportOverflowInt, reportOverflowLong, reportUnexpectedNumberChar, skipChildren
_codec, _constructError, _reportUnsupportedOperation, canParseAsync, canReadObjectId, canReadTypeId, canUseSchema, configure, currentName, disable, enable, getBinaryValue, getBooleanValue, getByteValue, getCurrentValue, getFeatureMask, getNonBlockingInputFeeder, getObjectId, getSchema, getShortValue, getTypeId, getValueAsBoolean, getValueAsDouble, isEnabled, overrideStdFeatures, readBinaryValue, readValueAs, readValueAs, readValueAsTree, readValuesAs, readValuesAs, releaseBuffered, requiresCustomCodec, setCurrentValue, setFeatureMask, setRequestPayloadOnError, setRequestPayloadOnError, setRequestPayloadOnError, setSchema
protected com.fasterxml.jackson.core.ObjectCodec _objectCodec
protected java.io.InputStream _inputStream
protected byte[] _inputBuffer
protected boolean _bufferRecyclable
If it is not, it also means that parser can NOT modify underlying buffer.
protected int _typeAsInt
protected boolean _tokenIncomplete
public SmileParser(com.fasterxml.jackson.core.io.IOContext ctxt, int parserFeatures, int smileFeatures, com.fasterxml.jackson.core.ObjectCodec codec, com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer sym, java.io.InputStream in, byte[] inputBuffer, int start, int end, boolean bufferRecyclable)
public com.fasterxml.jackson.core.ObjectCodec getCodec()
getCodec
in class com.fasterxml.jackson.core.JsonParser
public void setCodec(com.fasterxml.jackson.core.ObjectCodec c)
setCodec
in class com.fasterxml.jackson.core.JsonParser
protected boolean handleSignature(boolean consumeFirstByte, boolean throwException) throws java.io.IOException
java.io.IOException
public int releaseBuffered(java.io.OutputStream out) throws java.io.IOException
releaseBuffered
in class com.fasterxml.jackson.core.JsonParser
java.io.IOException
public java.lang.Object getInputSource()
getInputSource
in class com.fasterxml.jackson.core.JsonParser
private final byte _nextByteGuaranteed() throws java.io.IOException
java.io.IOException
protected final void _loadMoreGuaranteed() throws java.io.IOException
java.io.IOException
protected final boolean _loadMore() throws java.io.IOException
java.io.IOException
protected final void _loadToHaveAtLeast(int minAvailable) throws java.io.IOException
java.io.IOException
protected void _closeInput() throws java.io.IOException
_closeInput
in class SmileParserBase
java.io.IOException
public boolean hasTextCharacters()
hasTextCharacters
in class com.fasterxml.jackson.core.base.ParserMinimalBase
protected void _releaseBuffers2()
_closeInput()
(for
example, when explicitly closing this reader instance), or
separately (if need be)._releaseBuffers2
in class SmileParserBase
public com.fasterxml.jackson.core.JsonToken nextToken() throws java.io.IOException
nextToken
in class com.fasterxml.jackson.core.base.ParserMinimalBase
java.io.IOException
private final com.fasterxml.jackson.core.JsonToken _handleSharedString(int index) throws java.io.IOException
java.io.IOException
private final com.fasterxml.jackson.core.JsonToken _addSeenStringValue() throws java.io.IOException
java.io.IOException
private final void _expandSeenStringValues(java.lang.String newText)
public void finishToken() throws java.io.IOException
getText()
and similar methods.finishToken
in class com.fasterxml.jackson.core.JsonParser
java.io.IOException
public boolean nextFieldName(com.fasterxml.jackson.core.SerializableString str) throws java.io.IOException
nextFieldName
in class com.fasterxml.jackson.core.JsonParser
java.io.IOException
public java.lang.String nextFieldName() throws java.io.IOException
nextFieldName
in class com.fasterxml.jackson.core.JsonParser
java.io.IOException
public java.lang.String nextTextValue() throws java.io.IOException
nextTextValue
in class com.fasterxml.jackson.core.JsonParser
java.io.IOException
public int nextIntValue(int defaultValue) throws java.io.IOException
nextIntValue
in class com.fasterxml.jackson.core.JsonParser
java.io.IOException
public long nextLongValue(long defaultValue) throws java.io.IOException
nextLongValue
in class com.fasterxml.jackson.core.JsonParser
java.io.IOException
public java.lang.Boolean nextBooleanValue() throws java.io.IOException
nextBooleanValue
in class com.fasterxml.jackson.core.JsonParser
java.io.IOException
public java.lang.String getText() throws java.io.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.ParserMinimalBase
java.io.IOException
public char[] getTextCharacters() throws java.io.IOException
getTextCharacters
in class com.fasterxml.jackson.core.base.ParserMinimalBase
java.io.IOException
public int getTextLength() throws java.io.IOException
getTextLength
in class com.fasterxml.jackson.core.base.ParserMinimalBase
java.io.IOException
public int getTextOffset() throws java.io.IOException
getTextOffset
in class com.fasterxml.jackson.core.base.ParserMinimalBase
java.io.IOException
public java.lang.String getValueAsString() throws java.io.IOException
getValueAsString
in class com.fasterxml.jackson.core.base.ParserMinimalBase
java.io.IOException
public java.lang.String getValueAsString(java.lang.String defaultValue) throws java.io.IOException
getValueAsString
in class com.fasterxml.jackson.core.base.ParserMinimalBase
java.io.IOException
public int getText(java.io.Writer writer) throws java.io.IOException
getText
in class com.fasterxml.jackson.core.JsonParser
java.io.IOException
public byte[] getBinaryValue(com.fasterxml.jackson.core.Base64Variant b64variant) throws java.io.IOException
getBinaryValue
in class com.fasterxml.jackson.core.base.ParserMinimalBase
java.io.IOException
public java.lang.Object getEmbeddedObject() throws java.io.IOException
getEmbeddedObject
in class com.fasterxml.jackson.core.JsonParser
java.io.IOException
public int readBinaryValue(com.fasterxml.jackson.core.Base64Variant b64variant, java.io.OutputStream out) throws java.io.IOException
readBinaryValue
in class com.fasterxml.jackson.core.JsonParser
java.io.IOException
private void _readBinaryEncoded(java.io.OutputStream out, int length, byte[] buffer) throws java.io.IOException
java.io.IOException
protected final com.fasterxml.jackson.core.JsonToken _handleFieldName() throws java.io.IOException
java.io.IOException
private final java.lang.String[] _expandSeenNames(java.lang.String[] oldShared)
private final java.lang.String _addDecodedToSymbols(int len, java.lang.String name)
private final java.lang.String _decodeShortAsciiName(int len) throws java.io.IOException
java.io.IOException
private final java.lang.String _decodeShortUnicodeName(int len) throws java.io.IOException
len
- Length between 1 and 64java.io.IOException
private final java.lang.String _decodeLongUnicodeName(int[] quads, int byteLen, int quadLen) throws java.io.IOException
java.io.IOException
private final void _handleLongFieldName() throws java.io.IOException
java.io.IOException
private final java.lang.String _findDecodedFromSymbols(int len) throws java.io.IOException
java.io.IOException
private final java.lang.String _findDecodedLong(int len, int q1, int q2) throws java.io.IOException
java.io.IOException
private static int[] _growArrayTo(int[] arr, int minSize)
protected void _parseNumericValue() throws java.io.IOException
_parseNumericValue
in class SmileParserBase
java.io.IOException
protected final void _finishToken() throws java.io.IOException
java.io.IOException
protected final void _finishNumberToken(int tb) throws java.io.IOException
java.io.IOException
private final void _finishInt() throws java.io.IOException
java.io.IOException
private final void _finishIntSlow() throws java.io.IOException
java.io.IOException
private final void _finishLong() throws java.io.IOException
java.io.IOException
private final void _finishLongSlow() throws java.io.IOException
java.io.IOException
private final int _fourBytesToInt() throws java.io.IOException
java.io.IOException
private final int _fourBytesToIntSlow() throws java.io.IOException
java.io.IOException
private final void _finishBigInteger() throws java.io.IOException
java.io.IOException
private final void _finishFloat() throws java.io.IOException
java.io.IOException
private final void _finishDouble() throws java.io.IOException
java.io.IOException
private final void _finishBigDecimal() throws java.io.IOException
java.io.IOException
private final int _readUnsignedVInt() throws java.io.IOException
java.io.IOException
private final byte[] _read7BitBinaryWithLength() throws java.io.IOException
java.io.IOException
protected final java.lang.String _decodeShortAsciiValue(int len) throws java.io.IOException
java.io.IOException
protected final java.lang.String _decodeShortUnicodeValue(int len) throws java.io.IOException
java.io.IOException
private final void _decodeLongAscii() throws java.io.IOException
java.io.IOException
private final void _decodeLongUnicode() throws java.io.IOException
java.io.IOException
private final void _finishRawBinary() throws java.io.IOException
java.io.IOException
protected void _skipIncomplete() throws java.io.IOException
java.io.IOException
protected void _skipBytes(int len) throws java.io.IOException
java.io.IOException
protected void _skip7BitBinary() throws java.io.IOException
java.io.IOException
private final int _decodeUtf8_2(int c) throws java.io.IOException
java.io.IOException
private final int _decodeUtf8_3(int c1) throws java.io.IOException
java.io.IOException
private final int _decodeUtf8_3fast(int c1) throws java.io.IOException
java.io.IOException
private final int _decodeUtf8_4(int c) throws java.io.IOException
java.io.IOException
protected void _reportInvalidSharedName(int index) throws java.io.IOException
java.io.IOException
protected void _reportInvalidSharedStringValue(int index) throws java.io.IOException
java.io.IOException
protected void _reportInvalidChar(int c) throws com.fasterxml.jackson.core.JsonParseException
com.fasterxml.jackson.core.JsonParseException
protected void _reportInvalidInitial(int mask) throws com.fasterxml.jackson.core.JsonParseException
com.fasterxml.jackson.core.JsonParseException
protected void _reportInvalidOther(int mask) throws com.fasterxml.jackson.core.JsonParseException
com.fasterxml.jackson.core.JsonParseException
protected void _reportInvalidOther(int mask, int ptr) throws com.fasterxml.jackson.core.JsonParseException
com.fasterxml.jackson.core.JsonParseException
private final com.fasterxml.jackson.core.JsonToken _eofAsNextToken() throws java.io.IOException
java.io.IOException