Package org.codehaus.jackson.impl
Class StreamBasedParserBase
java.lang.Object
org.codehaus.jackson.JsonParser
org.codehaus.jackson.impl.JsonParserMinimalBase
org.codehaus.jackson.impl.JsonParserBase
org.codehaus.jackson.impl.StreamBasedParserBase
- All Implemented Interfaces:
Closeable
,AutoCloseable
,Versioned
Deprecated.
Since 1.9, sub-classes should just embed code from here
This is a simple low-level input reader base class, used by
JSON parser. It is used when underlying input source is
a byte stream such as
InputStream
.
The reason for sub-classing (over composition)
is due to need for direct access to low-level byte buffers
and positions.- Author:
- Tatu Saloranta
-
Nested Class Summary
Nested classes/interfaces inherited from class org.codehaus.jackson.JsonParser
JsonParser.Feature, JsonParser.NumberType
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected boolean
Deprecated.Flag that indicates whether the input buffer is recycable (and needs to be returned to recycler once we are done) or not.protected byte[]
Deprecated.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
Deprecated.Input stream that can be used for reading more content, if one in use.Fields inherited from class org.codehaus.jackson.impl.JsonParserBase
_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
Fields inherited from class org.codehaus.jackson.impl.JsonParserMinimalBase
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
Fields inherited from class org.codehaus.jackson.JsonParser
_currToken, _features, _lastClearedToken
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
StreamBasedParserBase
(IOContext ctxt, int features, InputStream in, byte[] inputBuffer, int start, int end, boolean bufferRecyclable) Deprecated. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
Deprecated.protected final boolean
_loadToHaveAtLeast
(int minAvailable) Deprecated.Helper method that will try to load at least specified number bytes in input buffer, possible moving existing data around if necessaryprotected void
Deprecated.Method called to release internal buffers owned by the base reader.Deprecated.Method that can be used to get access to object that is used to access input being parsed; this is usually eitherInputStream
orReader
, depending on what parser was constructed with.protected final boolean
loadMore()
Deprecated.int
Deprecated.Method that can be called to push back any content that has been read but not consumed by the parser.Methods inherited from class org.codehaus.jackson.impl.JsonParserBase
_decodeBase64Escape, _decodeBase64Escape, _decodeEscaped, _finishString, _getByteArrayBuilder, _handleEOF, _parseNumericValue, _reportMismatchedEndMarker, close, convertNumberToBigDecimal, convertNumberToBigInteger, convertNumberToDouble, convertNumberToInt, convertNumberToLong, getBigIntegerValue, getCurrentLocation, getCurrentName, getDecimalValue, getDoubleValue, getFloatValue, getIntValue, getLongValue, getNumberType, getNumberValue, getParsingContext, getTokenCharacterOffset, getTokenColumnNr, getTokenLineNr, getTokenLocation, hasTextCharacters, isClosed, loadMoreGuaranteed, reportInvalidBase64Char, reportInvalidBase64Char, reportInvalidNumber, reportOverflowInt, reportOverflowLong, reportUnexpectedNumberChar, reset, resetAsNaN, resetFloat, resetInt, version
Methods inherited from class org.codehaus.jackson.impl.JsonParserMinimalBase
_constructError, _decodeBase64, _getCharDesc, _handleUnrecognizedCharacterEscape, _reportBase64EOF, _reportError, _reportInvalidBase64, _reportInvalidEOF, _reportInvalidEOF, _reportInvalidEOFInValue, _reportUnexpectedChar, _throwInternal, _throwInvalidSpace, _throwUnquotedSpace, _wrapError, getBinaryValue, getText, getTextCharacters, getTextLength, getTextOffset, getValueAsBoolean, getValueAsDouble, getValueAsInt, getValueAsLong, nextToken, skipChildren
Methods inherited from class org.codehaus.jackson.JsonParser
_constructError, canUseSchema, clearCurrentToken, configure, disable, disableFeature, enable, enableFeature, getBinaryValue, getBooleanValue, getByteValue, getCodec, getCurrentToken, getEmbeddedObject, getLastClearedToken, getShortValue, getValueAsBoolean, getValueAsDouble, getValueAsInt, getValueAsLong, hasCurrentToken, isEnabled, isExpectedStartArrayToken, isFeatureEnabled, nextBooleanValue, nextFieldName, nextIntValue, nextLongValue, nextTextValue, nextValue, readValueAs, readValueAs, readValueAsTree, readValuesAs, readValuesAs, releaseBuffered, setCodec, setFeature, setSchema
-
Field Details
-
_inputStream
Deprecated.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[] _inputBufferDeprecated.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 _bufferRecyclableDeprecated.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.
-
-
Constructor Details
-
StreamBasedParserBase
protected StreamBasedParserBase(IOContext ctxt, int features, InputStream in, byte[] inputBuffer, int start, int end, boolean bufferRecyclable) Deprecated.
-
-
Method Details
-
releaseBuffered
Deprecated.Description copied from class:JsonParser
Method that can be called to push back any content that has been read but not consumed by the parser. This is usually done after reading all content of interest using parser. Content is released by writing it to given stream if possible; if underlying input is byte-based it can released, if not (char-based) it can not.- Overrides:
releaseBuffered
in classJsonParser
- Returns:
- -1 if the underlying content source is not byte based
(that is, input can not be sent to
OutputStream
; otherwise number of bytes released (0 if there was nothing to release) - Throws:
IOException
- if write to stream threw exception
-
getInputSource
Deprecated.Description copied from class:JsonParser
Method that can be used to get access to object that is used to access input being parsed; this is usually eitherInputStream
orReader
, depending on what parser was constructed with. Note that returned value may be null in some cases; including case where parser implementation does not want to exposed raw source to caller. In cases where input has been decorated, object returned here is the decorated version; this allows some level of interaction between users of parser and decorator object.In general use of this accessor should be considered as "last effort", i.e. only used if no other mechanism is applicable.
- Overrides:
getInputSource
in classJsonParser
-
loadMore
Deprecated.- Specified by:
loadMore
in classJsonParserBase
- Throws:
IOException
-
_loadToHaveAtLeast
Deprecated.Helper method that will try to load at least specified number bytes in input buffer, possible moving existing data around if necessary- Throws:
IOException
- Since:
- 1.6
-
_closeInput
Deprecated.- Specified by:
_closeInput
in classJsonParserBase
- Throws:
IOException
-
_releaseBuffers
Deprecated.Description copied from class:JsonParserBase
Method called to release internal buffers owned by the base reader. This may be called along withJsonParserBase._closeInput()
(for example, when explicitly closing this reader instance), or separately (if need be).- Overrides:
_releaseBuffers
in classJsonParserBase
- Throws:
IOException
-