public class SmileParser
extends com.fasterxml.jackson.core.base.ParserBase
| 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 int |
_formatFeatures
Bit flag composed of bits that indicate which
SmileParser.Features are enabled. |
protected boolean |
_got32BitFloat
Specific 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[] |
_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 InputStream |
_inputStream
Input stream that can be used for reading more content, if one
in use.
|
protected boolean |
_mayContainRawBinary
Flag that indicates whether content can legally have raw (unquoted)
binary data.
|
protected com.fasterxml.jackson.core.ObjectCodec |
_objectCodec
Codec used for data binding when (if) requested.
|
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 String[] |
_seenNames
Array of recently seen field names, which may be back referenced
by later fields.
|
protected int |
_seenStringValueCount |
protected 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<String> |
_smileBufferRecycler
Helper object used for low-level recycling of Smile-generator
specific buffers.
|
protected static 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. |
protected com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer |
_symbols
Symbol table that contains field names encountered so far
|
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 |
_tokenOffsetForTotal
Alternative to
ParserBase._tokenInputTotal that will only contain
offset within input buffer, as int. |
protected int |
_typeAsInt
Type byte of the current token (as in)
|
_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 |
|---|
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,
InputStream in,
byte[] inputBuffer,
int start,
int end,
boolean bufferRecyclable) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
_closeInput() |
protected String |
_decodeShortAsciiValue(int len) |
protected String |
_decodeShortUnicodeValue(int len) |
protected void |
_finishNumberToken(int tb) |
protected void |
_finishToken()
Method called to finish parsing of a token so that token contents
are retrievable
|
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 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
|
protected int |
_parseIntValue() |
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 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
|
protected static SmileBufferRecycler<String> |
_smileBufferRecycler() |
void |
close() |
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() |
com.fasterxml.jackson.core.JsonLocation |
getCurrentLocation()
Overridden since we do not really have character-based locations,
but we do have byte offset to specify.
|
Object |
getEmbeddedObject() |
int |
getFormatFeatures() |
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 writer) |
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.
|
String |
getValueAsString() |
String |
getValueAsString(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() |
boolean |
mayContainRawBinary() |
Boolean |
nextBooleanValue() |
String |
nextFieldName() |
boolean |
nextFieldName(com.fasterxml.jackson.core.SerializableString str) |
int |
nextIntValue(int defaultValue) |
long |
nextLongValue(long defaultValue) |
String |
nextTextValue() |
com.fasterxml.jackson.core.JsonToken |
nextToken() |
com.fasterxml.jackson.core.JsonParser |
overrideFormatFeatures(int values,
int mask) |
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, _reportMismatchedEndMarker, convertNumberToBigDecimal, convertNumberToBigInteger, convertNumberToDouble, convertNumberToInt, convertNumberToLong, disable, enable, getBigIntegerValue, getCurrentName, 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, hasCurrentToken, hasToken, hasTokenId, isExpectedStartArrayToken, isExpectedStartObjectToken, nextValue, skipChildren_codec, _constructError, _reportUnsupportedOperation, canReadObjectId, canReadTypeId, canUseSchema, configure, getBinaryValue, getBooleanValue, getByteValue, getFeatureMask, getObjectId, getSchema, getShortValue, getTypeId, getValueAsBoolean, getValueAsDouble, isEnabled, readBinaryValue, readValueAs, readValueAs, readValueAsTree, readValuesAs, readValuesAs, releaseBuffered, requiresCustomCodec, setRequestPayloadOnError, setRequestPayloadOnError, setRequestPayloadOnError, setSchemaprotected com.fasterxml.jackson.core.ObjectCodec _objectCodec
protected boolean _mayContainRawBinary
protected final SmileBufferRecycler<String> _smileBufferRecycler
protected InputStream _inputStream
protected byte[] _inputBuffer
protected int _formatFeatures
SmileParser.Features are enabled.
NOTE: currently the only feature (SmileParser.Feature.REQUIRE_HEADER
takes effect during bootstrapping.
protected boolean _bufferRecyclable
If it is not, it also means that parser can NOT modify underlying buffer.
protected boolean _tokenIncomplete
protected int _typeAsInt
protected boolean _got32BitFloat
protected int _tokenOffsetForTotal
ParserBase._tokenInputTotal that will only contain
offset within input buffer, as int.protected final com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer _symbols
protected int[] _quadBuffer
protected int _quad1
protected int _quad2
protected int _quad3
protected 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 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,
InputStream in,
byte[] inputBuffer,
int start,
int end,
boolean bufferRecyclable)
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 getFormatFeatures()
getFormatFeatures in class com.fasterxml.jackson.core.JsonParserpublic com.fasterxml.jackson.core.JsonParser overrideFormatFeatures(int values,
int mask)
overrideFormatFeatures in class com.fasterxml.jackson.core.JsonParserpublic 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 void _loadMoreGuaranteed()
throws IOException
IOExceptionprotected final boolean _loadMore()
throws IOException
IOExceptionprotected final void _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 void finishToken()
throws IOException
getText() and similar methods.finishToken in class com.fasterxml.jackson.core.JsonParserIOExceptionpublic com.fasterxml.jackson.core.JsonParser.NumberType getNumberType()
throws IOException
getNumberType in class com.fasterxml.jackson.core.base.ParserBaseIOExceptionpublic boolean nextFieldName(com.fasterxml.jackson.core.SerializableString str)
throws IOException
nextFieldName in class com.fasterxml.jackson.core.JsonParserIOExceptionpublic String nextFieldName() throws IOException
nextFieldName in class com.fasterxml.jackson.core.JsonParserIOExceptionpublic String nextTextValue() throws IOException
nextTextValue in class com.fasterxml.jackson.core.JsonParserIOExceptionpublic int nextIntValue(int defaultValue)
throws IOException
nextIntValue in class com.fasterxml.jackson.core.JsonParserIOExceptionpublic long nextLongValue(long defaultValue)
throws IOException
nextLongValue in class com.fasterxml.jackson.core.JsonParserIOExceptionpublic Boolean nextBooleanValue() throws IOException
nextBooleanValue in class com.fasterxml.jackson.core.JsonParserIOExceptionpublic 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 String getValueAsString() throws IOException
getValueAsString in class com.fasterxml.jackson.core.base.ParserMinimalBaseIOExceptionpublic String getValueAsString(String defaultValue) throws IOException
getValueAsString in class com.fasterxml.jackson.core.base.ParserMinimalBaseIOExceptionpublic int getText(Writer writer) 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 int _parseIntValue()
throws IOException
_parseIntValue in class com.fasterxml.jackson.core.base.ParserBaseIOExceptionprotected final void _finishToken()
throws IOException
IOExceptionprotected final void _finishNumberToken(int tb)
throws IOException
IOExceptionprotected final String _decodeShortAsciiValue(int len) throws IOException
IOExceptionprotected final String _decodeShortUnicodeValue(int len) throws IOException
IOExceptionprotected void _skipIncomplete()
throws IOException
IOExceptionprotected void _skipBytes(int len)
throws IOException
IOExceptionprotected void _skip7BitBinary()
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.JsonParseExceptionCopyright © 2016 FasterXML. All rights reserved.