com.fasterxml.jackson.dataformat.smile

## Class SmileParser

- java.lang.Object
- - com.fasterxml.jackson.core.JsonParser
  - - com.fasterxml.jackson.core.base.ParserMinimalBase
    - - com.fasterxml.jackson.dataformat.smile.SmileParserBase
      - - com.fasterxml.jackson.dataformat.smile.SmileParser

- All Implemented Interfaces:
    com.fasterxml.jackson.core.Versioned, Closeable, AutoCloseable

      public class SmileParser
      extends SmileParserBase

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `SmileParser.Feature` Enumeration that defines all togglable features for Smile generators.

    - ### Nested classes/interfaces inherited from class com.fasterxml.jackson.core.JsonParser

      `com.fasterxml.jackson.core.JsonParser.NumberType`

  - ### Field Summary

    Fields
    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 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)

    - ### Fields inherited from class com.fasterxml.jackson.dataformat.smile.SmileParserBase

      `_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`

    - ### Fields inherited from class com.fasterxml.jackson.core.base.ParserMinimalBase

      `_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`

    - ### Fields inherited from class com.fasterxml.jackson.core.JsonParser

      `_features, _requestPayload`

  - ### Constructor Summary

    Constructors
    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)`

  - ### Method Summary

    Methods
    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 void` | `_parseNumericValue()`
    `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()`
    `Object` | `getEmbeddedObject()`
    `Object` | `getInputSource()`
    `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()`
    `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` | `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()`
    `int` | `readBinaryValue(com.fasterxml.jackson.core.Base64Variant b64variant, OutputStream out)`
    `int` | `releaseBuffered(OutputStream out)`
    `void` | `setCodec(com.fasterxml.jackson.core.ObjectCodec c)`

    - ### Methods inherited from class com.fasterxml.jackson.dataformat.smile.SmileParserBase

      `_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`

    - ### Methods inherited from class com.fasterxml.jackson.core.base.ParserMinimalBase

      `_ascii, _asciiBytes, _constructError, _decodeBase64, _getCharDesc, _handleUnrecognizedCharacterEscape, _hasTextualNull, _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`

    - ### Methods inherited from class com.fasterxml.jackson.core.JsonParser

      `_codec, _constructError, _reportUnsupportedOperation, canParseAsync, canReadObjectId, canReadTypeId, canUseSchema, configure, 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`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### _objectCodec

          protected com.fasterxml.jackson.core.ObjectCodec _objectCodec

      Codec used for data binding when (if) requested.

    - #### _inputStream

          protected InputStream _inputStream

      Input stream that can be used for reading more content, if one in use. May be null, if input comes just as a full buffer, or if the stream has been closed.

    - #### _inputBuffer

          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.

    - #### _bufferRecyclable

          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.

      If it is not, it also means that parser can NOT modify underlying buffer.

    - #### _typeAsInt

          protected int _typeAsInt

      Type byte of the current token (as in)

    - #### _tokenIncomplete

          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)

  - ### Constructor Detail

    - #### SmileParser

          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)

  - ### Method Detail

    - #### getCodec

          public com.fasterxml.jackson.core.ObjectCodec getCodec()

      Specified by:
        `getCodec` in class `com.fasterxml.jackson.core.JsonParser`

    - #### setCodec

          public void setCodec(com.fasterxml.jackson.core.ObjectCodec c)

      Specified by:
        `setCodec` in class `com.fasterxml.jackson.core.JsonParser`

    - #### handleSignature

          protected boolean handleSignature(boolean consumeFirstByte,
                                boolean throwException)
                                     throws IOException

      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.
      Returns:
        True if valid signature was found and handled; false if not
      Throws:
        `IOException`

    - #### releaseBuffered

          public int releaseBuffered(OutputStream out)
                              throws IOException

      Overrides:
        `releaseBuffered` in class `com.fasterxml.jackson.core.JsonParser`
      Throws:
        `IOException`

    - #### getInputSource

          public Object getInputSource()

      Overrides:
        `getInputSource` in class `com.fasterxml.jackson.core.JsonParser`

    - #### _loadMoreGuaranteed

          protected final void _loadMoreGuaranteed()
                                            throws IOException

      Throws:
        `IOException`

    - #### _loadMore

          protected final boolean _loadMore()
                                     throws IOException

      Throws:
        `IOException`

    - #### _loadToHaveAtLeast

          protected final void _loadToHaveAtLeast(int minAvailable)
                                           throws IOException

      Helper method that will try to load at least specified number bytes in input buffer, possible moving existing data around if necessary
      Throws:
        `IOException`

    - #### _closeInput

          protected void _closeInput()
                              throws IOException

      Specified by:
        `_closeInput` in class `SmileParserBase`
      Throws:
        `IOException`

    - #### hasTextCharacters

          public boolean hasTextCharacters()

      Specified by:
        `hasTextCharacters` in class `com.fasterxml.jackson.core.base.ParserMinimalBase`

    - #### _releaseBuffers2

          protected void _releaseBuffers2()

      Method called to release internal buffers owned by the base reader. This may be called along with `_closeInput()` (for example, when explicitly closing this reader instance), or separately (if need be).
      Specified by:
        `_releaseBuffers2` in class `SmileParserBase`

    - #### nextToken

          public com.fasterxml.jackson.core.JsonToken nextToken()
                                                         throws IOException

      Specified by:
        `nextToken` in class `com.fasterxml.jackson.core.base.ParserMinimalBase`
      Throws:
        `IOException`

    - #### finishToken

          public void finishToken()
                           throws IOException

      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.
      Overrides:
        `finishToken` in class `com.fasterxml.jackson.core.JsonParser`
      Throws:
        `IOException`

    - #### nextFieldName

          public boolean nextFieldName(com.fasterxml.jackson.core.SerializableString str)
                                throws IOException

      Overrides:
        `nextFieldName` in class `com.fasterxml.jackson.core.JsonParser`
      Throws:
        `IOException`

    - #### nextFieldName

          public String nextFieldName()
                               throws IOException

      Overrides:
        `nextFieldName` in class `com.fasterxml.jackson.core.JsonParser`
      Throws:
        `IOException`

    - #### nextTextValue

          public String nextTextValue()
                               throws IOException

      Overrides:
        `nextTextValue` in class `com.fasterxml.jackson.core.JsonParser`
      Throws:
        `IOException`

    - #### nextIntValue

          public int nextIntValue(int defaultValue)
                           throws IOException

      Overrides:
        `nextIntValue` in class `com.fasterxml.jackson.core.JsonParser`
      Throws:
        `IOException`

    - #### nextLongValue

          public long nextLongValue(long defaultValue)
                             throws IOException

      Overrides:
        `nextLongValue` in class `com.fasterxml.jackson.core.JsonParser`
      Throws:
        `IOException`

    - #### nextBooleanValue

          public Boolean nextBooleanValue()
                                   throws IOException

      Overrides:
        `nextBooleanValue` in class `com.fasterxml.jackson.core.JsonParser`
      Throws:
        `IOException`

    - #### getText

          public String getText()
                         throws IOException

      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. Method can be called for any event.
      Specified by:
        `getText` in class `com.fasterxml.jackson.core.base.ParserMinimalBase`
      Throws:
        `IOException`

    - #### getTextCharacters

          public char[] getTextCharacters()
                                   throws IOException

      Specified by:
        `getTextCharacters` in class `com.fasterxml.jackson.core.base.ParserMinimalBase`
      Throws:
        `IOException`

    - #### getTextLength

          public int getTextLength()
                            throws IOException

      Specified by:
        `getTextLength` in class `com.fasterxml.jackson.core.base.ParserMinimalBase`
      Throws:
        `IOException`

    - #### getTextOffset

          public int getTextOffset()
                            throws IOException

      Specified by:
        `getTextOffset` in class `com.fasterxml.jackson.core.base.ParserMinimalBase`
      Throws:
        `IOException`

    - #### getValueAsString

          public String getValueAsString()
                                  throws IOException

      Overrides:
        `getValueAsString` in class `com.fasterxml.jackson.core.base.ParserMinimalBase`
      Throws:
        `IOException`

    - #### getValueAsString

          public String getValueAsString(String defaultValue)
                                  throws IOException

      Overrides:
        `getValueAsString` in class `com.fasterxml.jackson.core.base.ParserMinimalBase`
      Throws:
        `IOException`

    - #### getText

          public int getText(Writer writer)
                      throws IOException

      Overrides:
        `getText` in class `com.fasterxml.jackson.core.JsonParser`
      Throws:
        `IOException`

    - #### getBinaryValue

          public byte[] getBinaryValue(com.fasterxml.jackson.core.Base64Variant b64variant)
                                throws IOException

      Specified by:
        `getBinaryValue` in class `com.fasterxml.jackson.core.base.ParserMinimalBase`
      Throws:
        `IOException`

    - #### getEmbeddedObject

          public Object getEmbeddedObject()
                                   throws IOException

      Overrides:
        `getEmbeddedObject` in class `com.fasterxml.jackson.core.JsonParser`
      Throws:
        `IOException`

    - #### readBinaryValue

          public int readBinaryValue(com.fasterxml.jackson.core.Base64Variant b64variant,
                            OutputStream out)
                              throws IOException

      Overrides:
        `readBinaryValue` in class `com.fasterxml.jackson.core.JsonParser`
      Throws:
        `IOException`

    - #### _handleFieldName

          protected final com.fasterxml.jackson.core.JsonToken _handleFieldName()
                                                                         throws IOException

      Method that handles initial token type recognition for token that has to be either FIELD_NAME or END_OBJECT.
      Throws:
        `IOException`

    - #### _parseNumericValue

          protected void _parseNumericValue()
                                     throws IOException

      Specified by:
        `_parseNumericValue` in class `SmileParserBase`
      Throws:
        `IOException`

    - #### _finishToken

          protected final void _finishToken()
                                     throws IOException

      Method called to finish parsing of a token so that token contents are retrievable
      Throws:
        `IOException`

    - #### _finishNumberToken

          protected final void _finishNumberToken(int tb)
                                           throws IOException

      Throws:
        `IOException`

    - #### _decodeShortAsciiValue

          protected final String _decodeShortAsciiValue(int len)
                                                 throws IOException

      Throws:
        `IOException`

    - #### _decodeShortUnicodeValue

          protected final String _decodeShortUnicodeValue(int len)
                                                   throws IOException

      Throws:
        `IOException`

    - #### _skipIncomplete

          protected void _skipIncomplete()
                                  throws IOException

      Method called to skip remainders of an incomplete token, when contents themselves will not be needed any more
      Throws:
        `IOException`

    - #### _skipBytes

          protected void _skipBytes(int len)
                             throws IOException

      Throws:
        `IOException`

    - #### _skip7BitBinary

          protected void _skip7BitBinary()
                                  throws IOException

      Helper method for skipping length-prefixed binary data section
      Throws:
        `IOException`

    - #### _reportInvalidSharedName

          protected void _reportInvalidSharedName(int index)
                                           throws IOException

      Throws:
        `IOException`

    - #### _reportInvalidSharedStringValue

          protected void _reportInvalidSharedStringValue(int index)
                                                  throws IOException

      Throws:
        `IOException`

    - #### _reportInvalidChar

          protected void _reportInvalidChar(int c)
                                     throws com.fasterxml.jackson.core.JsonParseException

      Throws:
        `com.fasterxml.jackson.core.JsonParseException`

    - #### _reportInvalidInitial

          protected void _reportInvalidInitial(int mask)
                                        throws com.fasterxml.jackson.core.JsonParseException

      Throws:
        `com.fasterxml.jackson.core.JsonParseException`

    - #### _reportInvalidOther

          protected void _reportInvalidOther(int mask)
                                      throws com.fasterxml.jackson.core.JsonParseException

      Throws:
        `com.fasterxml.jackson.core.JsonParseException`

    - #### _reportInvalidOther

          protected void _reportInvalidOther(int mask,
                                 int ptr)
                                      throws com.fasterxml.jackson.core.JsonParseException

      Throws:
        `com.fasterxml.jackson.core.JsonParseException`

Copyright © 2017 FasterXML. All rights reserved.