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 java.io.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 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.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,
java.io.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<java.lang.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.
|
java.lang.Object |
getEmbeddedObject() |
java.lang.Object |
getInputSource() |
com.fasterxml.jackson.core.JsonParser.NumberType |
getNumberType() |
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. |
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.
|
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() |
protected boolean |
loadMore() |
boolean |
mayContainRawBinary() |
java.lang.Boolean |
nextBooleanValue() |
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) |
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<java.lang.String> _smileBufferRecycler
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 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 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.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,
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.JsonParserpublic void setCodec(com.fasterxml.jackson.core.ObjectCodec c)
setCodec in class com.fasterxml.jackson.core.JsonParserprotected boolean handleSignature(boolean consumeFirstByte,
boolean throwException)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonParseException
java.io.IOExceptioncom.fasterxml.jackson.core.JsonParseExceptionprotected static final SmileBufferRecycler<java.lang.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(java.io.OutputStream out)
throws java.io.IOException
releaseBuffered in class com.fasterxml.jackson.core.JsonParserjava.io.IOExceptionpublic java.lang.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 java.io.IOException
loadMore in class com.fasterxml.jackson.core.base.ParserBasejava.io.IOExceptionprotected final boolean _loadToHaveAtLeast(int minAvailable)
throws java.io.IOException
java.io.IOExceptionprotected void _closeInput()
throws java.io.IOException
_closeInput in class com.fasterxml.jackson.core.base.ParserBasejava.io.IOExceptionprotected void _finishString()
throws java.io.IOException,
com.fasterxml.jackson.core.JsonParseException
_finishString in class com.fasterxml.jackson.core.base.ParserBasejava.io.IOExceptioncom.fasterxml.jackson.core.JsonParseExceptionpublic void close()
throws java.io.IOException
close in interface java.io.Closeableclose in interface java.lang.AutoCloseableclose in class com.fasterxml.jackson.core.base.ParserBasejava.io.IOExceptionpublic boolean hasTextCharacters()
hasTextCharacters in class com.fasterxml.jackson.core.base.ParserBaseprotected void _releaseBuffers()
throws java.io.IOException
_closeInput() (for
example, when explicitly closing this reader instance), or
separately (if need be)._releaseBuffers in class com.fasterxml.jackson.core.base.ParserBasejava.io.IOExceptionpublic boolean mayContainRawBinary()
public com.fasterxml.jackson.core.JsonToken nextToken()
throws java.io.IOException,
com.fasterxml.jackson.core.JsonParseException
nextToken in class com.fasterxml.jackson.core.base.ParserMinimalBasejava.io.IOExceptioncom.fasterxml.jackson.core.JsonParseExceptionpublic com.fasterxml.jackson.core.JsonParser.NumberType getNumberType()
throws java.io.IOException,
com.fasterxml.jackson.core.JsonParseException
getNumberType in class com.fasterxml.jackson.core.base.ParserBasejava.io.IOExceptioncom.fasterxml.jackson.core.JsonParseExceptionpublic boolean nextFieldName(com.fasterxml.jackson.core.SerializableString str)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonParseException
nextFieldName in class com.fasterxml.jackson.core.JsonParserjava.io.IOExceptioncom.fasterxml.jackson.core.JsonParseExceptionpublic java.lang.String nextTextValue()
throws java.io.IOException,
com.fasterxml.jackson.core.JsonParseException
nextTextValue in class com.fasterxml.jackson.core.JsonParserjava.io.IOExceptioncom.fasterxml.jackson.core.JsonParseExceptionpublic int nextIntValue(int defaultValue)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonParseException
nextIntValue in class com.fasterxml.jackson.core.JsonParserjava.io.IOExceptioncom.fasterxml.jackson.core.JsonParseExceptionpublic long nextLongValue(long defaultValue)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonParseException
nextLongValue in class com.fasterxml.jackson.core.JsonParserjava.io.IOExceptioncom.fasterxml.jackson.core.JsonParseExceptionpublic java.lang.Boolean nextBooleanValue()
throws java.io.IOException,
com.fasterxml.jackson.core.JsonParseException
nextBooleanValue in class com.fasterxml.jackson.core.JsonParserjava.io.IOExceptioncom.fasterxml.jackson.core.JsonParseExceptionpublic java.lang.String getText()
throws java.io.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.ParserMinimalBasejava.io.IOExceptioncom.fasterxml.jackson.core.JsonParseExceptionpublic char[] getTextCharacters()
throws java.io.IOException,
com.fasterxml.jackson.core.JsonParseException
getTextCharacters in class com.fasterxml.jackson.core.base.ParserMinimalBasejava.io.IOExceptioncom.fasterxml.jackson.core.JsonParseExceptionpublic int getTextLength()
throws java.io.IOException,
com.fasterxml.jackson.core.JsonParseException
getTextLength in class com.fasterxml.jackson.core.base.ParserMinimalBasejava.io.IOExceptioncom.fasterxml.jackson.core.JsonParseExceptionpublic int getTextOffset()
throws java.io.IOException,
com.fasterxml.jackson.core.JsonParseException
getTextOffset in class com.fasterxml.jackson.core.base.ParserMinimalBasejava.io.IOExceptioncom.fasterxml.jackson.core.JsonParseExceptionpublic java.lang.String getValueAsString()
throws java.io.IOException,
com.fasterxml.jackson.core.JsonParseException
getValueAsString in class com.fasterxml.jackson.core.JsonParserjava.io.IOExceptioncom.fasterxml.jackson.core.JsonParseExceptionpublic java.lang.String getValueAsString(java.lang.String defaultValue)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonParseException
getValueAsString in class com.fasterxml.jackson.core.base.ParserMinimalBasejava.io.IOExceptioncom.fasterxml.jackson.core.JsonParseExceptionpublic byte[] getBinaryValue(com.fasterxml.jackson.core.Base64Variant b64variant)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonParseException
getBinaryValue in class com.fasterxml.jackson.core.base.ParserMinimalBasejava.io.IOExceptioncom.fasterxml.jackson.core.JsonParseExceptionpublic java.lang.Object getEmbeddedObject()
throws java.io.IOException,
com.fasterxml.jackson.core.JsonParseException
getEmbeddedObject in class com.fasterxml.jackson.core.base.ParserBasejava.io.IOExceptioncom.fasterxml.jackson.core.JsonParseExceptionpublic int readBinaryValue(com.fasterxml.jackson.core.Base64Variant b64variant,
java.io.OutputStream out)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonParseException
readBinaryValue in class com.fasterxml.jackson.core.JsonParserjava.io.IOExceptioncom.fasterxml.jackson.core.JsonParseExceptionprotected final com.fasterxml.jackson.core.JsonToken _handleFieldName()
throws java.io.IOException,
com.fasterxml.jackson.core.JsonParseException
java.io.IOExceptioncom.fasterxml.jackson.core.JsonParseExceptionprotected void _parseNumericValue(int expType)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonParseException
_parseNumericValue in class com.fasterxml.jackson.core.base.ParserBasejava.io.IOExceptioncom.fasterxml.jackson.core.JsonParseExceptionprotected void _finishToken()
throws java.io.IOException,
com.fasterxml.jackson.core.JsonParseException
java.io.IOExceptioncom.fasterxml.jackson.core.JsonParseExceptionprotected final void _finishNumberToken(int tb)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonParseException
java.io.IOExceptioncom.fasterxml.jackson.core.JsonParseExceptionprotected final void _decodeShortAsciiValue(int len)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonParseException
java.io.IOExceptioncom.fasterxml.jackson.core.JsonParseExceptionprotected final void _decodeShortUnicodeValue(int len)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonParseException
java.io.IOExceptioncom.fasterxml.jackson.core.JsonParseExceptionprotected void _skipIncomplete()
throws java.io.IOException,
com.fasterxml.jackson.core.JsonParseException
java.io.IOExceptioncom.fasterxml.jackson.core.JsonParseExceptionprotected void _skipBytes(int len)
throws java.io.IOException,
com.fasterxml.jackson.core.JsonParseException
java.io.IOExceptioncom.fasterxml.jackson.core.JsonParseExceptionprotected void _skip7BitBinary()
throws java.io.IOException,
com.fasterxml.jackson.core.JsonParseException
java.io.IOExceptioncom.fasterxml.jackson.core.JsonParseExceptionprotected void _reportInvalidSharedName(int index)
throws java.io.IOException
java.io.IOExceptionprotected void _reportInvalidSharedStringValue(int index)
throws java.io.IOException
java.io.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 © 2013. All Rights Reserved.