public abstract class JsonParserBase extends JsonParserMinimalBase
JsonParser
 implementations. Contains most common things that are independent
 of actual underlying input sourceJsonParser.Feature, JsonParser.NumberType| Modifier and Type | Field and Description | 
|---|---|
| protected byte[] | _binaryValueWe will hold on to decoded binary data, for duration of
 current event, so that multiple calls to
  JsonParserMinimalBase.getBinaryValue(org.codehaus.jackson.Base64Variant)will not need to decode data more
 than once. | 
| protected ByteArrayBuilder | _byteArrayBuilderByteArrayBuilder is needed if 'getBinaryValue' is called. | 
| protected boolean | _closedFlag that indicates whether parser is closed or not. | 
| protected long | _currInputProcessedNumber of characters/bytes that were contained in previous blocks
 (blocks that were already processed prior to the current buffer). | 
| protected int | _currInputRowCurrent row location of current point in input buffer, starting
 from 1, if available. | 
| protected int | _currInputRowStartCurrent index of the first character of the current row in input
 buffer. | 
| protected int | _expLengthLength of the exponent part of the number, if any, not
 including 'e' marker or sign, just digits. | 
| protected int | _fractLengthLength of the fractional part (not including decimal
 point or exponent), in characters. | 
| protected int | _inputEndIndex of character after last available one in the buffer. | 
| protected int | _inputPtrPointer to next available character in buffer | 
| protected int | _intLengthLength of integer part of the number, in characters | 
| protected IOContext | _ioContextI/O context for this reader. | 
| protected boolean | _nameCopiedFlag set to indicate whether the field name is available
 from the name copy buffer or not (in addition to its String
 representation  being available via read context) | 
| protected char[] | _nameCopyBufferTemporary buffer that is needed if field name is accessed
 using  JsonParserMinimalBase.getTextCharacters()method (instead of String
 returning alternatives) | 
| protected JsonToken | _nextTokenSecondary token related to the next token after current one;
 used if its type is known. | 
| protected BigDecimal | _numberBigDecimal | 
| protected BigInteger | _numberBigInt | 
| protected double | _numberDouble | 
| protected int | _numberInt | 
| protected long | _numberLong | 
| protected boolean | _numberNegativeFlag that indicates whether numeric value has a negative
 value. | 
| protected int | _numTypesValidBitfield that indicates which numeric representations
 have been calculated for the current type | 
| protected JsonReadContext | _parsingContextInformation about parser context, context in which
 the next token is to be parsed (root, array, object). | 
| protected TextBuffer | _textBufferBuffer that contains contents of String values, including
 field names if necessary (name split across boundary,
 contains escape sequence, or access needed to char array) | 
| protected int | _tokenInputColColumn on input row that current token starts; 0-based (although
 in the end it'll be converted to 1-based) | 
| protected int | _tokenInputRowInput row on which current token starts, 1-based | 
| protected long | _tokenInputTotalTotal number of bytes/characters read before start of current token. | 
| protected static char | CHAR_NULL | 
| protected static int | INT_0 | 
| protected static int | INT_1 | 
| protected static int | INT_2 | 
| protected static int | INT_3 | 
| protected static int | INT_4 | 
| protected static int | INT_5 | 
| protected static int | INT_6 | 
| protected static int | INT_7 | 
| protected static int | INT_8 | 
| protected static int | INT_9 | 
| protected static int | INT_DECIMAL_POINT | 
| protected static int | INT_e | 
| protected static int | INT_E | 
| protected static int | INT_MINUS | 
| protected static int | INT_PLUS | 
| protected static int | NR_BIGDECIMAL | 
| protected static int | NR_BIGINT | 
| protected static int | NR_DOUBLE | 
| protected static int | NR_INT | 
| protected static int | NR_LONG | 
| protected static int | NR_UNKNOWN | 
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_currToken, _features, _lastClearedToken| Modifier | Constructor and Description | 
|---|---|
| protected  | JsonParserBase(IOContext ctxt,
              int features) | 
| Modifier and Type | Method and Description | 
|---|---|
| protected abstract void | _closeInput() | 
| protected int | _decodeBase64Escape(Base64Variant b64variant,
                   char ch,
                   int index) | 
| protected int | _decodeBase64Escape(Base64Variant b64variant,
                   int ch,
                   int index) | 
| protected char | _decodeEscaped()Method that sub-classes must implement to support escaped sequences
 in base64-encoded sections. | 
| protected abstract void | _finishString() | 
| ByteArrayBuilder | _getByteArrayBuilder() | 
| protected void | _handleEOF()Method called when an EOF is encountered between tokens. | 
| protected void | _parseNumericValue(int expType)Method that will parse actual numeric value out of a syntactically
 valid number value. | 
| protected void | _releaseBuffers()Method called to release internal buffers owned by the base
 reader. | 
| protected void | _reportMismatchedEndMarker(int actCh,
                          char expCh) | 
| void | close()Closes the parser so that no further iteration or data access
 can be made; will also close the underlying input source
 if parser either owns the input source, or feature
  JsonParser.Feature.AUTO_CLOSE_SOURCEis enabled. | 
| protected void | convertNumberToBigDecimal() | 
| protected void | convertNumberToBigInteger() | 
| protected void | convertNumberToDouble() | 
| protected void | convertNumberToInt() | 
| protected void | convertNumberToLong() | 
| BigInteger | getBigIntegerValue()Numeric accessor that can be called when the current
 token is of type  JsonToken.VALUE_NUMBER_INTand
 it can not be used as a Java long primitive type due to its
 magnitude. | 
| JsonLocation | getCurrentLocation()Method that returns location of the last processed character;
 usually for error reporting purposes | 
| String | getCurrentName()Method that can be called to get the name associated with
 the current event. | 
| BigDecimal | getDecimalValue()Numeric accessor that can be called when the current
 token is of type  JsonToken.VALUE_NUMBER_FLOATorJsonToken.VALUE_NUMBER_INT. | 
| double | getDoubleValue()Numeric accessor that can be called when the current
 token is of type  JsonToken.VALUE_NUMBER_FLOATand
 it can be expressed as a Java double primitive type. | 
| float | getFloatValue()Numeric accessor that can be called when the current
 token is of type  JsonToken.VALUE_NUMBER_FLOATand
 it can be expressed as a Java float primitive type. | 
| int | getIntValue()Numeric accessor that can be called when the current
 token is of type  JsonToken.VALUE_NUMBER_INTand
 it can be expressed as a value of Java int primitive type. | 
| long | getLongValue()Numeric accessor that can be called when the current
 token is of type  JsonToken.VALUE_NUMBER_INTand
 it can be expressed as a Java long primitive type. | 
| JsonParser.NumberType | getNumberType()If current token is of type 
  JsonToken.VALUE_NUMBER_INTorJsonToken.VALUE_NUMBER_FLOAT, returns
 one ofJsonParser.NumberTypeconstants; otherwise returns null. | 
| Number | getNumberValue()Generic number value accessor method that will work for
 all kinds of numeric values. | 
| JsonReadContext | getParsingContext()Method that can be used to access current parsing context reader
 is in. | 
| long | getTokenCharacterOffset() | 
| int | getTokenColumnNr() | 
| int | getTokenLineNr() | 
| JsonLocation | getTokenLocation()Method that return the starting location of the current
 token; that is, position of the first character from input
 that starts the current token. | 
| boolean | hasTextCharacters()Method that can be used to determine whether calling of
  JsonParser.getTextCharacters()would be the most efficient
 way to access textual content for the event parser currently
 points to. | 
| boolean | isClosed()Method that can be called to determine whether this parser
 is closed or not. | 
| protected abstract boolean | loadMore() | 
| protected void | loadMoreGuaranteed() | 
| protected IllegalArgumentException | reportInvalidBase64Char(Base64Variant b64variant,
                       int ch,
                       int bindex) | 
| protected IllegalArgumentException | reportInvalidBase64Char(Base64Variant b64variant,
                       int ch,
                       int bindex,
                       String msg) | 
| protected void | reportInvalidNumber(String msg) | 
| protected void | reportOverflowInt() | 
| protected void | reportOverflowLong() | 
| protected void | reportUnexpectedNumberChar(int ch,
                          String comment) | 
| protected JsonToken | reset(boolean negative,
     int intLen,
     int fractLen,
     int expLen) | 
| protected JsonToken | resetAsNaN(String valueStr,
          double value) | 
| protected JsonToken | resetFloat(boolean negative,
          int intLen,
          int fractLen,
          int expLen) | 
| protected JsonToken | resetInt(boolean negative,
        int intLen) | 
| Version | version()Method called to detect version of the component that implements this interface;
 returned version should never be null, but may return specific "not available"
 instance (see  Versionfor details). | 
_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_constructError, canUseSchema, clearCurrentToken, configure, disable, disableFeature, enable, enableFeature, getBinaryValue, getBooleanValue, getByteValue, getCodec, getCurrentToken, getEmbeddedObject, getInputSource, getLastClearedToken, getShortValue, getValueAsBoolean, getValueAsDouble, getValueAsInt, getValueAsLong, hasCurrentToken, isEnabled, isExpectedStartArrayToken, isFeatureEnabled, nextBooleanValue, nextFieldName, nextIntValue, nextLongValue, nextTextValue, nextValue, readValueAs, readValueAs, readValueAsTree, readValuesAs, readValuesAs, releaseBuffered, releaseBuffered, setCodec, setFeature, setSchemaprotected final IOContext _ioContext
protected boolean _closed
close()) or when end-of-input is reached.protected int _inputPtr
protected int _inputEnd
protected long _currInputProcessed
protected int _currInputRow
protected int _currInputRowStart
protected long _tokenInputTotal
protected int _tokenInputRow
protected int _tokenInputCol
protected JsonReadContext _parsingContext
protected JsonToken _nextToken
protected final TextBuffer _textBuffer
protected char[] _nameCopyBuffer
JsonParserMinimalBase.getTextCharacters() method (instead of String
 returning alternatives)protected boolean _nameCopied
protected ByteArrayBuilder _byteArrayBuilder
protected byte[] _binaryValue
JsonParserMinimalBase.getBinaryValue(org.codehaus.jackson.Base64Variant) will not need to decode data more
 than once.protected static final int NR_UNKNOWN
protected static final int NR_INT
protected static final int NR_LONG
protected static final int NR_BIGINT
protected static final int NR_DOUBLE
protected static final int NR_BIGDECIMAL
protected static final int INT_0
protected static final int INT_1
protected static final int INT_2
protected static final int INT_3
protected static final int INT_4
protected static final int INT_5
protected static final int INT_6
protected static final int INT_7
protected static final int INT_8
protected static final int INT_9
protected static final int INT_MINUS
protected static final int INT_PLUS
protected static final int INT_DECIMAL_POINT
protected static final int INT_e
protected static final int INT_E
protected static final char CHAR_NULL
protected int _numTypesValid
protected int _numberInt
protected long _numberLong
protected double _numberDouble
protected BigInteger _numberBigInt
protected BigDecimal _numberBigDecimal
protected boolean _numberNegative
protected int _intLength
protected int _fractLength
protected int _expLength
protected JsonParserBase(IOContext ctxt, int features)
public Version version()
VersionedVersion for details).version in interface Versionedversion in class JsonParserpublic String getCurrentName() throws IOException, JsonParseException
getCurrentName in class JsonParserMinimalBaseIOExceptionJsonParseExceptionpublic void close()
           throws IOException
JsonParserJsonParser.Feature.AUTO_CLOSE_SOURCE is enabled.
 Whether parser owns the input source depends on factory
 method that was used to construct instance (so check
 JsonFactory for details,
 but the general
 idea is that if caller passes in closable resource (such
 as InputStream or Reader) parser does NOT
 own the source; but if it passes a reference (such as
 File or URL and creates
 stream or reader it does own them.close in interface Closeableclose in interface AutoCloseableclose in class JsonParserMinimalBaseIOExceptionpublic boolean isClosed()
JsonParserJsonParser.nextToken() (and the underlying
 stream may be closed). Closing may be due to an explicit
 call to JsonParser.close() or because parser has encountered
 end of input.isClosed in class JsonParserMinimalBasepublic JsonReadContext getParsingContext()
JsonParsergetParsingContext in class JsonParserMinimalBasepublic JsonLocation getTokenLocation()
getTokenLocation in class JsonParserpublic JsonLocation getCurrentLocation()
getCurrentLocation in class JsonParserpublic boolean hasTextCharacters()
JsonParserJsonParser.getTextCharacters() would be the most efficient
 way to access textual content for the event parser currently
 points to.
Default implementation simply returns false since only actual implementation class has knowledge of its internal buffering state. Implementations are strongly encouraged to properly override this method, to allow efficient copying of content by other code.
hasTextCharacters in class JsonParserMinimalBaseJsonParser.getTextCharacters(); false
   means that it may or may not existpublic final long getTokenCharacterOffset()
public final int getTokenLineNr()
public final int getTokenColumnNr()
protected final void loadMoreGuaranteed()
                                 throws IOException
IOExceptionprotected abstract boolean loadMore()
                             throws IOException
IOExceptionprotected abstract void _finishString()
                               throws IOException,
                                      JsonParseException
IOExceptionJsonParseExceptionprotected abstract void _closeInput()
                             throws IOException
IOExceptionprotected void _releaseBuffers()
                        throws IOException
_closeInput() (for
 example, when explicitly closing this reader instance), or
 separately (if need be).IOExceptionprotected void _handleEOF()
                   throws JsonParseException
_handleEOF in class JsonParserMinimalBaseJsonParseExceptionprotected void _reportMismatchedEndMarker(int actCh,
                              char expCh)
                                   throws JsonParseException
JsonParseExceptionpublic ByteArrayBuilder _getByteArrayBuilder()
protected final JsonToken reset(boolean negative, int intLen, int fractLen, int expLen)
protected final JsonToken resetInt(boolean negative, int intLen)
protected final JsonToken resetFloat(boolean negative, int intLen, int fractLen, int expLen)
public Number getNumberValue() throws IOException, JsonParseException
JsonParsergetNumberValue in class JsonParserIOExceptionJsonParseExceptionpublic JsonParser.NumberType getNumberType() throws IOException, JsonParseException
JsonParserJsonToken.VALUE_NUMBER_INT or
 JsonToken.VALUE_NUMBER_FLOAT, returns
 one of JsonParser.NumberType constants; otherwise returns null.getNumberType in class JsonParserIOExceptionJsonParseExceptionpublic int getIntValue()
                throws IOException,
                       JsonParseException
JsonParserJsonToken.VALUE_NUMBER_INT and
 it can be expressed as a value of Java int primitive type.
 It can also be called for JsonToken.VALUE_NUMBER_FLOAT;
 if so, it is equivalent to calling JsonParser.getDoubleValue()
 and then casting; except for possible overflow/underflow
 exception.
 Note: if the resulting integer value falls outside range of
 Java int, a JsonParseException
 may be thrown to indicate numeric overflow/underflow.
getIntValue in class JsonParserIOExceptionJsonParseExceptionpublic long getLongValue()
                  throws IOException,
                         JsonParseException
JsonParserJsonToken.VALUE_NUMBER_INT and
 it can be expressed as a Java long primitive type.
 It can also be called for JsonToken.VALUE_NUMBER_FLOAT;
 if so, it is equivalent to calling JsonParser.getDoubleValue()
 and then casting to int; except for possible overflow/underflow
 exception.
 Note: if the token is an integer, but its value falls
 outside of range of Java long, a JsonParseException
 may be thrown to indicate numeric overflow/underflow.
getLongValue in class JsonParserIOExceptionJsonParseExceptionpublic BigInteger getBigIntegerValue() throws IOException, JsonParseException
JsonParserJsonToken.VALUE_NUMBER_INT and
 it can not be used as a Java long primitive type due to its
 magnitude.
 It can also be called for JsonToken.VALUE_NUMBER_FLOAT;
 if so, it is equivalent to calling JsonParser.getDecimalValue()
 and then constructing a BigInteger from that value.getBigIntegerValue in class JsonParserIOExceptionJsonParseExceptionpublic float getFloatValue()
                    throws IOException,
                           JsonParseException
JsonParserJsonToken.VALUE_NUMBER_FLOAT and
 it can be expressed as a Java float primitive type.
 It can also be called for JsonToken.VALUE_NUMBER_INT;
 if so, it is equivalent to calling JsonParser.getLongValue()
 and then casting; except for possible overflow/underflow
 exception.
 Note: if the value falls
 outside of range of Java float, a JsonParseException
 will be thrown to indicate numeric overflow/underflow.
getFloatValue in class JsonParserIOExceptionJsonParseExceptionpublic double getDoubleValue()
                      throws IOException,
                             JsonParseException
JsonParserJsonToken.VALUE_NUMBER_FLOAT and
 it can be expressed as a Java double primitive type.
 It can also be called for JsonToken.VALUE_NUMBER_INT;
 if so, it is equivalent to calling JsonParser.getLongValue()
 and then casting; except for possible overflow/underflow
 exception.
 Note: if the value falls
 outside of range of Java double, a JsonParseException
 will be thrown to indicate numeric overflow/underflow.
getDoubleValue in class JsonParserIOExceptionJsonParseExceptionpublic BigDecimal getDecimalValue() throws IOException, JsonParseException
JsonParserJsonToken.VALUE_NUMBER_FLOAT or
 JsonToken.VALUE_NUMBER_INT. No under/overflow exceptions
 are ever thrown.getDecimalValue in class JsonParserIOExceptionJsonParseExceptionprotected void _parseNumericValue(int expType)
                           throws IOException,
                                  JsonParseException
expType - Numeric type that we will immediately need, if any;
   mostly necessary to optimize handling of floating point numbersIOExceptionJsonParseExceptionprotected void convertNumberToInt()
                           throws IOException,
                                  JsonParseException
IOExceptionJsonParseExceptionprotected void convertNumberToLong()
                            throws IOException,
                                   JsonParseException
IOExceptionJsonParseExceptionprotected void convertNumberToBigInteger()
                                  throws IOException,
                                         JsonParseException
IOExceptionJsonParseExceptionprotected void convertNumberToDouble()
                              throws IOException,
                                     JsonParseException
IOExceptionJsonParseExceptionprotected void convertNumberToBigDecimal()
                                  throws IOException,
                                         JsonParseException
IOExceptionJsonParseExceptionprotected void reportUnexpectedNumberChar(int ch,
                              String comment)
                                   throws JsonParseException
JsonParseExceptionprotected void reportInvalidNumber(String msg) throws JsonParseException
JsonParseExceptionprotected void reportOverflowInt()
                          throws IOException,
                                 JsonParseException
IOExceptionJsonParseExceptionprotected void reportOverflowLong()
                           throws IOException,
                                  JsonParseException
IOExceptionJsonParseExceptionprotected char _decodeEscaped()
                       throws IOException,
                              JsonParseException
IOExceptionJsonParseExceptionprotected final int _decodeBase64Escape(Base64Variant b64variant, int ch, int index) throws IOException, JsonParseException
IOExceptionJsonParseExceptionprotected final int _decodeBase64Escape(Base64Variant b64variant, char ch, int index) throws IOException, JsonParseException
IOExceptionJsonParseExceptionprotected IllegalArgumentException reportInvalidBase64Char(Base64Variant b64variant, int ch, int bindex) throws IllegalArgumentException
IllegalArgumentExceptionprotected IllegalArgumentException reportInvalidBase64Char(Base64Variant b64variant, int ch, int bindex, String msg) throws IllegalArgumentException
bindex - Relative index within base64 character unit; between 0
   and 3 (as unit has exactly 4 characters)IllegalArgumentException