Package org.glassfish.json
Class JsonParserImpl
java.lang.Object
org.glassfish.json.JsonParserImpl
- All Implemented Interfaces:
Closeable,AutoCloseable,JsonParser
JSON parser implementation. NoneContext, ArrayContext, ObjectContext is used
to go to next parser state.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate final classprivate classprivate final classprivate final classprivate static final classprivate classNested classes/interfaces inherited from interface javax.json.stream.JsonParser
JsonParser.Event -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate JsonParserImpl.Contextprivate JsonParser.Eventprivate final JsonParserImpl.Stackprivate final JsonParserImpl.StateIteratorprivate final JsonTokenizer -
Constructor Summary
ConstructorsConstructorDescriptionJsonParserImpl(InputStream in, Charset encoding, BufferPool bufferPool) JsonParserImpl(InputStream in, BufferPool bufferPool) JsonParserImpl(Reader reader, BufferPool bufferPool) -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Closes this parser and frees any resources associated with the parser.Returns a JSON number as aBigDecimal.intgetInt()Returns a JSON number as an integer.Return the location that corresponds to the parser's current state in the JSON input source.longgetLong()Returns a JSON number as a long.Returns aStringfor the name in a name/value pair, for a string value or a number value.booleanhasNext()Returnstrueif there are more parsing states.(package private) booleanbooleanReturns true if the JSON number at the current parser state is a integral number.next()Returns the event for the next parsing state.private JsonParsingExceptionparsingException(JsonTokenizer.JsonToken token, String expectedTokens)
-
Field Details
-
currentContext
-
currentEvent
-
stack
-
stateIterator
-
tokenizer
-
-
Constructor Details
-
JsonParserImpl
-
JsonParserImpl
-
JsonParserImpl
-
-
Method Details
-
getString
Description copied from interface:JsonParserReturns aStringfor the name in a name/value pair, for a string value or a number value. This method should only be called when the parser state isJsonParser.Event.KEY_NAME,JsonParser.Event.VALUE_STRING, orJsonParser.Event.VALUE_NUMBER.- Specified by:
getStringin interfaceJsonParser- Returns:
- a name when the parser state is
JsonParser.Event.KEY_NAMEa string value when the parser state isJsonParser.Event.VALUE_STRINGa number value when the parser state isJsonParser.Event.VALUE_NUMBER
-
isIntegralNumber
public boolean isIntegralNumber()Description copied from interface:JsonParserReturns true if the JSON number at the current parser state is a integral number. ABigDecimalmay be used to store the value internally and this method semantics are defined using itsscale(). If the scale is zero, then it is considered integral type. This integral type information can be used to invoke an appropriate accessor method to obtain a numeric value as in the following example:JsonParser parser = ... if (parser.isIntegralNumber()) { parser.getInt(); // or other methods to get integral value } else { parser.getBigDecimal(); }- Specified by:
isIntegralNumberin interfaceJsonParser- Returns:
- true if this number is a integral number, otherwise false
-
getInt
public int getInt()Description copied from interface:JsonParserReturns a JSON number as an integer. The returned value is equal tonew BigDecimal(getString()).intValue(). Note that this conversion can lose information about the overall magnitude and precision of the number value as well as return a result with the opposite sign. This method should only be called when the parser state isJsonParser.Event.VALUE_NUMBER.- Specified by:
getIntin interfaceJsonParser- Returns:
- an integer for a JSON number
- See Also:
-
isDefinitelyInt
boolean isDefinitelyInt() -
getLong
public long getLong()Description copied from interface:JsonParserReturns a JSON number as a long. The returned value is equal tonew BigDecimal(getString()).longValue(). Note that this conversion can lose information about the overall magnitude and precision of the number value as well as return a result with the opposite sign. This method is only called when the parser state isJsonParser.Event.VALUE_NUMBER.- Specified by:
getLongin interfaceJsonParser- Returns:
- a long for a JSON number
- See Also:
-
getBigDecimal
Description copied from interface:JsonParserReturns a JSON number as aBigDecimal. TheBigDecimalis created usingnew BigDecimal(getString()). This method should only called when the parser state isJsonParser.Event.VALUE_NUMBER.- Specified by:
getBigDecimalin interfaceJsonParser- Returns:
- a
BigDecimalfor a JSON number
-
getLocation
Description copied from interface:JsonParserReturn the location that corresponds to the parser's current state in the JSON input source. The location information is only valid in the current parser state (or until the parser is advanced to a next state).- Specified by:
getLocationin interfaceJsonParser- Returns:
- a non-null location corresponding to the current parser state in JSON input source
-
getLastCharLocation
-
hasNext
public boolean hasNext()Description copied from interface:JsonParserReturnstrueif there are more parsing states. This method returnsfalseif the parser reaches the end of the JSON text.- Specified by:
hasNextin interfaceJsonParser- Returns:
trueif there are more parsing states.
-
next
Description copied from interface:JsonParserReturns the event for the next parsing state.- Specified by:
nextin interfaceJsonParser
-
close
public void close()Description copied from interface:JsonParserCloses this parser and frees any resources associated with the parser. This method closes the underlying input source.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein interfaceJsonParser
-
parsingException
-