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

    Fields
    Modifier and Type
    Field
    Description
    The stateless, shared instance.
  • Method Summary

    Modifier and Type
    Method
    Description
     
    int
    arraySize(com.inductiveautomation.ignition.common.gson.JsonElement element)
     
    com.inductiveautomation.ignition.common.gson.JsonElement
    extractIndex(com.inductiveautomation.ignition.common.gson.JsonElement element, int index)
     
    com.inductiveautomation.ignition.common.gson.JsonElement
    extractKey(com.inductiveautomation.ignition.common.gson.JsonElement element, String key)
     
    boolean
    isArray(@Nullable com.inductiveautomation.ignition.common.gson.JsonElement element)
     
    boolean
    isMap(@Nullable com.inductiveautomation.ignition.common.gson.JsonElement element)
     
    boolean
    isNull(@Nullable com.inductiveautomation.ignition.common.gson.JsonElement element)
     
    boolean
    isPrimitive(@Nullable com.inductiveautomation.ignition.common.gson.JsonElement element)
     
     
    toJava(com.inductiveautomation.ignition.common.gson.JsonElement element)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Method Details

    • isMap

      public boolean isMap(@Nullable com.inductiveautomation.ignition.common.gson.JsonElement element)
      Specified by:
      isMap in interface ElementExtractor<com.inductiveautomation.ignition.common.gson.JsonElement>
      Returns:
      true if element is a map: a container ElementExtractor.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:
      extractKey in interface ElementExtractor<com.inductiveautomation.ignition.common.gson.JsonElement>
      Returns:
      the value at key; null if the key is present with a null value.
    • mapName

      public String mapName()
      Specified by:
      mapName in interface ElementExtractor<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:
      isArray in interface ElementExtractor<com.inductiveautomation.ignition.common.gson.JsonElement>
      Returns:
      true if element is an array: a container ElementExtractor.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:
      extractIndex in interface ElementExtractor<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:
      arraySize in interface ElementExtractor<com.inductiveautomation.ignition.common.gson.JsonElement>
      Returns:
      the number of elements in element, for which ElementExtractor.isArray(T) is true.
    • arrayName

      public String arrayName()
      Specified by:
      arrayName in interface ElementExtractor<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:
      isNull in interface ElementExtractor<com.inductiveautomation.ignition.common.gson.JsonElement>
      Returns:
      true if element is 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:
      isPrimitive in interface ElementExtractor<com.inductiveautomation.ignition.common.gson.JsonElement>
      Returns:
      true if element is a leaf value — null or a primitive — that ElementExtractor.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

      public Object toJava(com.inductiveautomation.ignition.common.gson.JsonElement element)
      Specified by:
      toJava in interface ElementExtractor<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.