Package org.openqa.selenium.json
Class JsonInput
java.lang.Object
org.openqa.selenium.json.JsonInput
- All Implemented Interfaces:
Closeable,AutoCloseable
The JsonInput class defines the operations used to deserialize JSON strings into Java
objects.
-
Method Summary
Modifier and TypeMethodDescriptionaddCoercers(Iterable<TypeCoercer<?>> coercers) Add the specified type coercers to the set installed in the JSON coercion manager.addCoercers(TypeCoercer<?>... coercers) Add the specified type coercers to the set installed in the JSON coercion manager.voidProcess the opening square bracket of a JSON array.voidProcess the opening curly brace of a JSON object.voidclose()voidendArray()Process the closing square bracket of a JSON array.voidProcess the closing curly brace of a JSON object.booleanhasNext()Determine whether an element is pending for the current container from the JSON input stream.booleanRead the next element of the JSON input stream as a boolean value.Read the next element of the JSON input stream as an instant.nextName()Read the next element of the JSON input stream as an object property name.nextNull()Read the next element of the JSON input stream as anullobject.Read the next element of the JSON input stream as a number.Read the next element of the JSON input stream as a string.peek()Peek at the next input string character to determine the pending JSON element type.propertySetting(PropertySetting setter) Change how property setting is done.<T> TRead the next element from the JSON input stream as the specified type.<T> List<T> Read an array of elements from the JSON input stream with elements as the specified type.voidDiscard the pending JSON property value.
-
Method Details
-
propertySetting
Change how property setting is done. It's polite to set the value back once done processing.- Parameters:
setter- The newPropertySettingto use.- Returns:
- The previous
PropertySettingthat has just been replaced.
-
addCoercers
Add the specified type coercers to the set installed in the JSON coercion manager.- Parameters:
coercers- array of zero or moreTypeCoercerobjects- Returns:
- this
JsonInputobject with added type coercers - Throws:
JsonException- if thisJsonInputhas already begun processing its input
-
addCoercers
Add the specified type coercers to the set installed in the JSON coercion manager.- Parameters:
coercers- iterable collection ofTypeCoercerobjects- Returns:
- this
JsonInputobject with added type coercers - Throws:
JsonException- if thisJsonInputhas already begun processing its input
-
close
public void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
UncheckedIOException- if an I/O exception is encountered
-
peek
Peek at the next input string character to determine the pending JSON element type.- Returns:
JsonTypeindicating the pending JSON element type- Throws:
JsonException- if unable to determine the type of the pending elementUncheckedIOException- if an I/O exception is encountered
-
nextBoolean
public boolean nextBoolean()Read the next element of the JSON input stream as a boolean value.- Returns:
trueorfalse- Throws:
JsonException- if the next element isn't the expected booleanUncheckedIOException- if an I/O exception is encountered
-
nextName
Read the next element of the JSON input stream as an object property name.- Returns:
- JSON object property name
- Throws:
JsonException- if the next element isn't a string followed by a colonUncheckedIOException- if an I/O exception is encountered
-
nextNull
Read the next element of the JSON input stream as anullobject.- Returns:
nullobject- Throws:
JsonException- if the next element isn't anullUncheckedIOException- if an I/O exception is encountered
-
nextNumber
Read the next element of the JSON input stream as a number.- Returns:
Numberobject- Throws:
JsonException- if the next element isn't a numberUncheckedIOException- if an I/O exception is encountered
-
nextString
Read the next element of the JSON input stream as a string.- Returns:
Stringobject- Throws:
JsonException- if the next element isn't a stringUncheckedIOException- if an I/O exception is encountered
-
nextInstant
Read the next element of the JSON input stream as an instant.- Returns:
Instantobject- Throws:
JsonException- if the next element isn't aLongUncheckedIOException- if an I/O exception is encountered
-
hasNext
public boolean hasNext()Determine whether an element is pending for the current container from the JSON input stream.- Returns:
trueif an element is pending; otherwisefalse- Throws:
JsonException- if no container is openUncheckedIOException- if an I/O exception is encountered
-
beginArray
public void beginArray()Process the opening square bracket of a JSON array.- Throws:
UncheckedIOException- if an I/O exception is encountered
-
endArray
public void endArray()Process the closing square bracket of a JSON array.- Throws:
UncheckedIOException- if an I/O exception is encountered
-
beginObject
public void beginObject()Process the opening curly brace of a JSON object.- Throws:
UncheckedIOException- if an I/O exception is encountered
-
endObject
public void endObject()Process the closing curly brace of a JSON object.- Throws:
UncheckedIOException- if an I/O exception is encountered
-
skipValue
public void skipValue()Discard the pending JSON property value.- Throws:
JsonException- if the pending element isn't a value typeUncheckedIOException- if an I/O exception is encountered
-
read
Read the next element from the JSON input stream as the specified type.- Type Parameters:
T- result type (as specified by [type])- Parameters:
type- data type for deserialization (class orTypeToken)- Returns:
- object of the specified type deserialized from the JSON input stream
NOTE: Returnsnullif the input string is exhausted. - Throws:
JsonException- if coercion of the next element to the specified type failsUncheckedIOException- if an I/O exception is encountered
-
readArray
Read an array of elements from the JSON input stream with elements as the specified type.- Type Parameters:
T- result type of the item in the list (as specified by [type])- Parameters:
type- data type for deserialization (class orTypeToken)- Returns:
- list of objects of the specified type deserialized from the JSON input stream
NOTE: Returnsnullif the input string is exhausted. - Throws:
JsonException- if coercion of the next element to the specified type failsUncheckedIOException- if an I/O exception is encountered
-