Class JsonObjectElementExtractor
java.lang.Object
com.inductiveautomation.ignition.common.expressions.JsonObjectElementExtractor
- All Implemented Interfaces:
ElementExtractor<com.inductiveautomation.ignition.common.gson.JsonElement>
public class JsonObjectElementExtractor
extends Object
implements ElementExtractor<com.inductiveautomation.ignition.common.gson.JsonElement>
An
ElementExtractor over gson JsonElement trees: JsonObjects are the map
elements, JsonArrays are the array elements, and JsonPrimitive/JsonNull
are the primitives, converted to plain Java values by toJava(com.inductiveautomation.ignition.common.gson.JsonElement).-
Nested Class Summary
Nested classes/interfaces inherited from interface com.inductiveautomation.ignition.common.expressions.ElementExtractor
ElementExtractor.ElementNotFoundException -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final JsonObjectElementExtractorThe stateless, shared instance. -
Method Summary
Modifier and TypeMethodDescriptionintarraySize(com.inductiveautomation.ignition.common.gson.JsonElement element) com.inductiveautomation.ignition.common.gson.JsonElementextractIndex(com.inductiveautomation.ignition.common.gson.JsonElement element, int index) com.inductiveautomation.ignition.common.gson.JsonElementextractKey(com.inductiveautomation.ignition.common.gson.JsonElement element, String key) booleanisArray(@Nullable com.inductiveautomation.ignition.common.gson.JsonElement element) booleanisMap(@Nullable com.inductiveautomation.ignition.common.gson.JsonElement element) booleanisNull(@Nullable com.inductiveautomation.ignition.common.gson.JsonElement element) booleanisPrimitive(@Nullable com.inductiveautomation.ignition.common.gson.JsonElement element) mapName()toJava(com.inductiveautomation.ignition.common.gson.JsonElement element)
-
Field Details
-
INSTANCE
The stateless, shared instance.
-
-
Method Details
-
isMap
public boolean isMap(@Nullable com.inductiveautomation.ignition.common.gson.JsonElement element) - Specified by:
isMapin interfaceElementExtractor<com.inductiveautomation.ignition.common.gson.JsonElement>- Returns:
- true if
elementis a map: a containerElementExtractor.extractKey(T, java.lang.String)can step into; false for null.
-
extractKey
public com.inductiveautomation.ignition.common.gson.JsonElement extractKey(com.inductiveautomation.ignition.common.gson.JsonElement element, String key) - Specified by:
extractKeyin interfaceElementExtractor<com.inductiveautomation.ignition.common.gson.JsonElement>- Returns:
- the value at
key; null if the key is present with a null value.
-
mapName
- Specified by:
mapNamein interfaceElementExtractor<com.inductiveautomation.ignition.common.gson.JsonElement>- Returns:
- the representation's name for its map type (e.g.
"JsonObject"), used in type-mismatch error messages.
-
isArray
public boolean isArray(@Nullable com.inductiveautomation.ignition.common.gson.JsonElement element) - Specified by:
isArrayin interfaceElementExtractor<com.inductiveautomation.ignition.common.gson.JsonElement>- Returns:
- true if
elementis an array: a containerElementExtractor.extractIndex(T, int)can step into; false for null.
-
extractIndex
public com.inductiveautomation.ignition.common.gson.JsonElement extractIndex(com.inductiveautomation.ignition.common.gson.JsonElement element, int index) - Specified by:
extractIndexin interfaceElementExtractor<com.inductiveautomation.ignition.common.gson.JsonElement>- Returns:
- the value at
index; null if the slot holds a null value.
-
arraySize
public int arraySize(com.inductiveautomation.ignition.common.gson.JsonElement element) - Specified by:
arraySizein interfaceElementExtractor<com.inductiveautomation.ignition.common.gson.JsonElement>- Returns:
- the number of elements in
element, for whichElementExtractor.isArray(T)is true.
-
arrayName
- Specified by:
arrayNamein interfaceElementExtractor<com.inductiveautomation.ignition.common.gson.JsonElement>- Returns:
- the representation's name for its array type (e.g.
"JsonArray"), used in type-mismatch and out-of-bounds error messages.
-
isNull
public boolean isNull(@Nullable com.inductiveautomation.ignition.common.gson.JsonElement element) - Specified by:
isNullin interfaceElementExtractor<com.inductiveautomation.ignition.common.gson.JsonElement>- Returns:
- true if
elementis a Java null or the representation's own null element (e.g.JsonNull).
-
isPrimitive
public boolean isPrimitive(@Nullable com.inductiveautomation.ignition.common.gson.JsonElement element) - Specified by:
isPrimitivein interfaceElementExtractor<com.inductiveautomation.ignition.common.gson.JsonElement>- Returns:
- true if
elementis a leaf value —nullor a primitive — thatElementExtractor.toJava(T)converts to a plain Java value; false if it is a map or array, which the evaluator returns in its native representation.
-
toJava
- Specified by:
toJavain interfaceElementExtractor<com.inductiveautomation.ignition.common.gson.JsonElement>- Returns:
- the plain Java equivalent (e.g. String, Long, Double, Boolean) of an element for which
ElementExtractor.isPrimitive(T)is true; null for the representation's null element.
-