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 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[] |
_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.BytesToNameCanonicalizer |
_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 |
_typeByte
Type byte of the current token
|
_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_1, INT_2, INT_3, INT_4, INT_5, INT_6, INT_7, INT_8, INT_9, INT_DECIMAL_POINT, INT_e, INT_E, INT_MINUS, INT_PLUS, NR_BIGDECIMAL, NR_BIGINT, NR_DOUBLE, NR_INT, NR_LONG, NR_UNKNOWN_currToken, _lastClearedToken, INT_APOSTROPHE, INT_ASTERISK, INT_b, INT_BACKSLASH, INT_COLON, INT_COMMA, INT_CR, INT_f, INT_LBRACKET, INT_LCURLY, INT_LF, INT_n, INT_QUOTE, INT_r, INT_RBRACKET, INT_RCURLY, INT_SLASH, INT_SPACE, INT_t, INT_TAB, INT_u| 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.BytesToNameCanonicalizer sym,
InputStream in,
byte[] inputBuffer,
int start,
int end,
boolean bufferRecyclable) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
_closeInput() |
protected void |
_decodeShortAsciiValue(int len) |
protected void |
_decodeShortUnicodeValue(int len) |
protected void |
_finishNumberToken(int tb) |
protected void |
_finishString() |
protected void |
_finishToken()
Method called to finish parsing of a token so that token contents
are retriable
|
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 |
_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 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() |
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() |
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. |
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() |
protected boolean |
loadMore() |
boolean |
mayContainRawBinary() |
Boolean |
nextBooleanValue() |
boolean |
nextFieldName(com.fasterxml.jackson.core.SerializableString str) |
int |
nextIntValue(int defaultValue) |
long |
nextLongValue(long defaultValue) |
String |
nextTextValue() |
com.fasterxml.jackson.core.JsonToken |
nextToken() |
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() |
_decodeBase64Escape, _decodeBase64Escape, _decodeEscaped, _getByteArrayBuilder, _handleEOF, _reportMismatchedEndMarker, convertNumberToBigDecimal, convertNumberToBigInteger, convertNumberToDouble, convertNumberToInt, convertNumberToLong, getBigIntegerValue, getCurrentName, getDecimalValue, getDoubleValue, getFloatValue, getIntValue, getLongValue, getNumberValue, getParsingContext, getTokenCharacterOffset, getTokenColumnNr, getTokenLineNr, isClosed, loadMoreGuaranteed, overrideCurrentName, reportInvalidBase64Char, reportInvalidBase64Char, reportInvalidNumber, reportOverflowInt, reportOverflowLong, reportUnexpectedNumberChar, reset, resetAsNaN, resetFloat, resetInt_constructError, _decodeBase64, _getCharDesc, _handleUnrecognizedCharacterEscape, _reportBase64EOF, _reportError, _reportInvalidBase64, _reportInvalidEOF, _reportInvalidEOF, _reportInvalidEOFInValue, _reportUnexpectedChar, _throwInternal, _throwInvalidSpace, _throwUnquotedSpace, _wrapError, clearCurrentToken, getCurrentToken, getLastClearedToken, getValueAsBoolean, getValueAsDouble, getValueAsInt, getValueAsLong, hasCurrentToken, nextValue, skipChildren_constructError, _reportUnsupportedOperation, canUseSchema, configure, disable, enable, getBinaryValue, getBooleanValue, getByteValue, getSchema, getShortValue, getValueAsBoolean, getValueAsDouble, getValueAsInt, getValueAsLong, isEnabled, isExpectedStartArrayToken, readBinaryValue, readValueAs, readValueAs, readValueAsTree, readValuesAs, readValuesAs, releaseBuffered, requiresCustomCodec, setSchemaprotected com.fasterxml.jackson.core.ObjectCodec _objectCodec
protected boolean _mayContainRawBinary
protected final SmileBufferRecycler<String> _smileBufferRecycler
protected InputStream _inputStream
protected byte[] _inputBuffer
protected boolean _bufferRecyclable
If it is not, it also means that parser can NOT modify underlying buffer.
protected boolean _tokenIncomplete
protected int _typeByte
protected boolean _got32BitFloat
protected final com.fasterxml.jackson.core.sym.BytesToNameCanonicalizer _symbols
protected int[] _quadBuffer
protected int _quad1
protected int _quad2
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.BytesToNameCanonicalizer 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,
com.fasterxml.jackson.core.JsonParseException
IOExceptioncom.fasterxml.jackson.core.JsonParseExceptionprotected 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 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 boolean loadMore()
throws IOException
loadMore in class com.fasterxml.jackson.core.base.ParserBaseIOExceptionprotected final boolean _loadToHaveAtLeast(int minAvailable)
throws IOException
IOExceptionprotected void _closeInput()
throws IOException
_closeInput in class com.fasterxml.jackson.core.base.ParserBaseIOExceptionprotected void _finishString()
throws IOException,
com.fasterxml.jackson.core.JsonParseException
_finishString in class com.fasterxml.jackson.core.base.ParserBaseIOExceptioncom.fasterxml.jackson.core.JsonParseExceptionpublic 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,
com.fasterxml.jackson.core.JsonParseException
nextToken in class com.fasterxml.jackson.core.base.ParserMinimalBaseIOExceptioncom.fasterxml.jackson.core.JsonParseExceptionpublic com.fasterxml.jackson.core.JsonParser.NumberType getNumberType()
throws IOException,
com.fasterxml.jackson.core.JsonParseException
getNumberType in class com.fasterxml.jackson.core.base.ParserBaseIOExceptioncom.fasterxml.jackson.core.JsonParseExceptionpublic boolean nextFieldName(com.fasterxml.jackson.core.SerializableString str)
throws IOException,
com.fasterxml.jackson.core.JsonParseException
nextFieldName in class com.fasterxml.jackson.core.JsonParserIOExceptioncom.fasterxml.jackson.core.JsonParseExceptionpublic String nextTextValue() throws IOException, com.fasterxml.jackson.core.JsonParseException
nextTextValue in class com.fasterxml.jackson.core.JsonParserIOExceptioncom.fasterxml.jackson.core.JsonParseExceptionpublic int nextIntValue(int defaultValue)
throws IOException,
com.fasterxml.jackson.core.JsonParseException
nextIntValue in class com.fasterxml.jackson.core.JsonParserIOExceptioncom.fasterxml.jackson.core.JsonParseExceptionpublic long nextLongValue(long defaultValue)
throws IOException,
com.fasterxml.jackson.core.JsonParseException
nextLongValue in class com.fasterxml.jackson.core.JsonParserIOExceptioncom.fasterxml.jackson.core.JsonParseExceptionpublic Boolean nextBooleanValue() throws IOException, com.fasterxml.jackson.core.JsonParseException
nextBooleanValue in class com.fasterxml.jackson.core.JsonParserIOExceptioncom.fasterxml.jackson.core.JsonParseExceptionpublic String getText() throws IOException, com.fasterxml.jackson.core.JsonParseException
nextToken(), or
after encountering end-of-input), returns null.
Method can be called for any event.getText in class com.fasterxml.jackson.core.base.ParserMinimalBaseIOExceptioncom.fasterxml.jackson.core.JsonParseExceptionpublic char[] getTextCharacters()
throws IOException,
com.fasterxml.jackson.core.JsonParseException
getTextCharacters in class com.fasterxml.jackson.core.base.ParserMinimalBaseIOExceptioncom.fasterxml.jackson.core.JsonParseExceptionpublic int getTextLength()
throws IOException,
com.fasterxml.jackson.core.JsonParseException
getTextLength in class com.fasterxml.jackson.core.base.ParserMinimalBaseIOExceptioncom.fasterxml.jackson.core.JsonParseExceptionpublic int getTextOffset()
throws IOException,
com.fasterxml.jackson.core.JsonParseException
getTextOffset in class com.fasterxml.jackson.core.base.ParserMinimalBaseIOExceptioncom.fasterxml.jackson.core.JsonParseExceptionpublic String getValueAsString() throws IOException, com.fasterxml.jackson.core.JsonParseException
getValueAsString in class com.fasterxml.jackson.core.JsonParserIOExceptioncom.fasterxml.jackson.core.JsonParseExceptionpublic String getValueAsString(String defaultValue) throws IOException, com.fasterxml.jackson.core.JsonParseException
getValueAsString in class com.fasterxml.jackson.core.base.ParserMinimalBaseIOExceptioncom.fasterxml.jackson.core.JsonParseExceptionpublic byte[] getBinaryValue(com.fasterxml.jackson.core.Base64Variant b64variant)
throws IOException,
com.fasterxml.jackson.core.JsonParseException
getBinaryValue in class com.fasterxml.jackson.core.base.ParserMinimalBaseIOExceptioncom.fasterxml.jackson.core.JsonParseExceptionpublic Object getEmbeddedObject() throws IOException, com.fasterxml.jackson.core.JsonParseException
getEmbeddedObject in class com.fasterxml.jackson.core.base.ParserBaseIOExceptioncom.fasterxml.jackson.core.JsonParseExceptionpublic int readBinaryValue(com.fasterxml.jackson.core.Base64Variant b64variant,
OutputStream out)
throws IOException,
com.fasterxml.jackson.core.JsonParseException
readBinaryValue in class com.fasterxml.jackson.core.JsonParserIOExceptioncom.fasterxml.jackson.core.JsonParseExceptionprotected final com.fasterxml.jackson.core.JsonToken _handleFieldName()
throws IOException,
com.fasterxml.jackson.core.JsonParseException
IOExceptioncom.fasterxml.jackson.core.JsonParseExceptionprotected void _parseNumericValue(int expType)
throws IOException,
com.fasterxml.jackson.core.JsonParseException
_parseNumericValue in class com.fasterxml.jackson.core.base.ParserBaseIOExceptioncom.fasterxml.jackson.core.JsonParseExceptionprotected void _finishToken()
throws IOException,
com.fasterxml.jackson.core.JsonParseException
IOExceptioncom.fasterxml.jackson.core.JsonParseExceptionprotected final void _finishNumberToken(int tb)
throws IOException,
com.fasterxml.jackson.core.JsonParseException
IOExceptioncom.fasterxml.jackson.core.JsonParseExceptionprotected final void _decodeShortAsciiValue(int len)
throws IOException,
com.fasterxml.jackson.core.JsonParseException
IOExceptioncom.fasterxml.jackson.core.JsonParseExceptionprotected final void _decodeShortUnicodeValue(int len)
throws IOException,
com.fasterxml.jackson.core.JsonParseException
IOExceptioncom.fasterxml.jackson.core.JsonParseExceptionprotected void _skipIncomplete()
throws IOException,
com.fasterxml.jackson.core.JsonParseException
IOExceptioncom.fasterxml.jackson.core.JsonParseExceptionprotected void _skipBytes(int len)
throws IOException,
com.fasterxml.jackson.core.JsonParseException
IOExceptioncom.fasterxml.jackson.core.JsonParseExceptionprotected void _skip7BitBinary()
throws IOException,
com.fasterxml.jackson.core.JsonParseException
IOExceptioncom.fasterxml.jackson.core.JsonParseExceptionprotected 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 © 2014. All rights reserved.