- java.lang.Object
-
- org.eclipse.parsson.JsonStructureParser
-
- All Implemented Interfaces:
jakarta.json.stream.JsonParser
,java.io.Closeable
,java.lang.AutoCloseable
class JsonStructureParser extends java.lang.Object implements jakarta.json.stream.JsonParser
JsonParser
implementation on top of JsonArray/JsonObject
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
JsonStructureParser.ArrayScope
private static class
JsonStructureParser.ObjectScope
private static class
JsonStructureParser.Scope
-
Field Summary
Fields Modifier and Type Field Description private JsonStructureParser.Scope
current
private java.util.Deque<JsonStructureParser.Scope>
scopeStack
private jakarta.json.stream.JsonParser.Event
state
-
Constructor Summary
Constructors Constructor Description JsonStructureParser(jakarta.json.JsonArray array)
JsonStructureParser(jakarta.json.JsonObject object)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
java.math.BigDecimal
getBigDecimal()
int
getInt()
jakarta.json.stream.JsonLocation
getLocation()
long
getLong()
private <T> T
getNumberValue(java.util.function.Function<jakarta.json.JsonNumber,T> numberFunction, java.util.function.Function<jakarta.json.stream.JsonParser.Event,java.lang.String> exceptionMessageFunction)
private static jakarta.json.stream.JsonParser.Event
getState(jakarta.json.JsonValue value)
java.lang.String
getString()
boolean
hasNext()
boolean
isIntegralNumber()
jakarta.json.stream.JsonParser.Event
next()
private void
nextStateAndEndOfTheObjectOrArray()
void
skipArray()
void
skipObject()
private void
transition()
-
-
-
Field Detail
-
current
private JsonStructureParser.Scope current
-
state
private jakarta.json.stream.JsonParser.Event state
-
scopeStack
private final java.util.Deque<JsonStructureParser.Scope> scopeStack
-
-
Method Detail
-
getString
public java.lang.String getString()
- Specified by:
getString
in interfacejakarta.json.stream.JsonParser
-
getNumberValue
private <T> T getNumberValue(java.util.function.Function<jakarta.json.JsonNumber,T> numberFunction, java.util.function.Function<jakarta.json.stream.JsonParser.Event,java.lang.String> exceptionMessageFunction)
-
isIntegralNumber
public boolean isIntegralNumber()
- Specified by:
isIntegralNumber
in interfacejakarta.json.stream.JsonParser
-
getInt
public int getInt()
- Specified by:
getInt
in interfacejakarta.json.stream.JsonParser
-
getLong
public long getLong()
- Specified by:
getLong
in interfacejakarta.json.stream.JsonParser
-
getBigDecimal
public java.math.BigDecimal getBigDecimal()
- Specified by:
getBigDecimal
in interfacejakarta.json.stream.JsonParser
-
getLocation
public jakarta.json.stream.JsonLocation getLocation()
- Specified by:
getLocation
in interfacejakarta.json.stream.JsonParser
-
hasNext
public boolean hasNext()
- Specified by:
hasNext
in interfacejakarta.json.stream.JsonParser
-
next
public jakarta.json.stream.JsonParser.Event next()
- Specified by:
next
in interfacejakarta.json.stream.JsonParser
-
transition
private void transition()
-
nextStateAndEndOfTheObjectOrArray
private void nextStateAndEndOfTheObjectOrArray()
-
close
public void close()
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Specified by:
close
in interfacejakarta.json.stream.JsonParser
-
skipObject
public void skipObject()
- Specified by:
skipObject
in interfacejakarta.json.stream.JsonParser
-
skipArray
public void skipArray()
- Specified by:
skipArray
in interfacejakarta.json.stream.JsonParser
-
getState
private static jakarta.json.stream.JsonParser.Event getState(jakarta.json.JsonValue value)
-
-