Package org.hibernate.type.format
Interface JsonDocumentReader
- All Superinterfaces:
Iterator<JsonDocumentItemType>
- All Known Implementing Classes:
OsonDocumentReader,StringJsonDocumentReader
JSON document reader.
Reads a JSON document (i.e., String or OSON bytes) and produce Json item type event.
Calling #next() will return one of a JsonDocumentItem.JsonDocumentItemType.
The sequence of return types follows JSON specification.
When
is returned #getObjectKeyName() should be called to get the key name.
invalid reference
JsonDocumentItemType.VALUE_KEY
When
,
invalid reference
JsonDocumentItemType.VALUE
,
invalid reference
JsonDocumentItemType.BOOLEAN_VALUE
or
invalid reference
JsonDocumentItemType.NULL_VALUE
is returned one of the getxxxValue() should be called to get the value.
invalid reference
JsonDocumentItemType.NUMERIC_VALUE
example :
{
"key1": "value1",
"key2": ["x","y","z"],
"key3": {
"key4" : ["a"],
"key5" : {}
},
"key6":12,
"key7":null
}
This Json object could be read as follows
while (reader.hasNext()) {}
JsonDocumentItemType type = reader.next();
switch(type) {
case VALUE_KEY:
String keyName = reader.getObjectKeyName();
break;
case VALUE:
String value = reader.getStringValue()
break
//...
}
}
This Json object above would trigger this sequence of events
JsonDocumentItemType.OBJECT_START
JsonDocumentItemType.VALUE_KEY // "key1"
JsonDocumentItemType.VALUE // "value1"
JsonDocumentItemType.VALUE_KEY // "key2"
JsonDocumentItemType.ARRAY_START
JsonDocumentItemType.VALUE // "x"
JsonDocumentItemType.VALUE // "y"
JsonDocumentItemType.VALUE // "z"
JsonDocumentItemType.ARRAY_END
JsonDocumentItemType.VALUE_KEY // "key3"
JsonDocumentItemType.OBJECT_START
JsonDocumentItemType.VALUE_KEY // "key4"
JsonDocumentItemType.ARRAY_START
JsonDocumentItemType.VALUE // "a"
JsonDocumentItemType.ARRAY_END
JsonDocumentItemType.VALUE_KEY // "key5"
JsonDocumentItemType.OBJECT_START
JsonDocumentItemType.OBJECT_END
JsonDocumentItemType.VALUE_KEY // "key6"
JsonDocumentItemType.NUMERIC_VALUE
JsonDocumentItemType.VALUE_KEY // "key7"
JsonDocumentItemType.NULL_VALUE
JsonDocumentItemType.OBJECT_END
JsonDocumentItemType.OBJECT_END
-
Method Summary
Modifier and TypeMethodDescriptiondefault voidGets value as BigDecimalGets value as BigIntegerbooleanGets value as booleanbyteGets value as bytedoubleGets value as doublefloatGets value as floatintGets value as intlongGets value as longGets the key name once JsonDocumentItemType.VALUE_KEY has been receivedshortGets value as shortGets value as String<T> TgetValue(JavaType<T> javaType, WrapperOptions options) Gets value as JavaTypeMethods inherited from interface java.util.Iterator
forEachRemaining, hasNext, next, remove
-
Method Details
-
forEachRemaining
default void forEachRemaining() -
getObjectKeyName
String getObjectKeyName()Gets the key name once JsonDocumentItemType.VALUE_KEY has been received- Returns:
- the name
-
getStringValue
String getStringValue()Gets value as String- Returns:
- the value.
-
getBigDecimalValue
BigDecimal getBigDecimalValue()Gets value as BigDecimal- Returns:
- the value.
-
getBigIntegerValue
BigInteger getBigIntegerValue()Gets value as BigInteger- Returns:
- the value.
-
getDoubleValue
double getDoubleValue()Gets value as double- Returns:
- the value.
-
getFloatValue
float getFloatValue()Gets value as float- Returns:
- the value.
-
getLongValue
long getLongValue()Gets value as long- Returns:
- the value.
-
getIntegerValue
int getIntegerValue()Gets value as int- Returns:
- the value.
-
getShortValue
short getShortValue()Gets value as short- Returns:
- the value.
-
getByteValue
byte getByteValue()Gets value as byte- Returns:
- the value.
-
getBooleanValue
boolean getBooleanValue()Gets value as boolean- Returns:
- the value.
-
getValue
Gets value as JavaType- Returns:
- the value.
-