Class DocumentElement

java.lang.Object
com.inductiveautomation.ignition.common.document.DocumentElement
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
Document, DocumentArray, DocumentNull, DocumentPrimitive

public abstract class DocumentElement extends Object implements Serializable
A class representing an element of Document. It could either be a Document, a DocumentArray, a DocumentPrimitive or a DocumentNull.
See Also:
  • Constructor Details

    • DocumentElement

      public DocumentElement()
  • Method Details

    • fromJson

      public static DocumentElement fromJson(com.inductiveautomation.ignition.common.gson.JsonElement element)
      Utility method to convert a Gson JsonElement to an Ignition DocumentElement.
    • deepCopy

      public abstract DocumentElement deepCopy()
      Returns a deep copy of this element. Immutable elements like primitives and nulls are not copied.
      Since:
      2.8.2
    • toJsonElement

      public abstract com.inductiveautomation.ignition.common.gson.JsonElement toJsonElement()
    • isDocumentArray

      public boolean isDocumentArray()
      provides check for verifying if this element is an array or not.
      Returns:
      true if this element is of type DocumentArray, false otherwise.
    • isDocument

      public boolean isDocument()
      provides check for verifying if this element is a Document object or not.
      Returns:
      true if this element is of type Document, false otherwise.
    • isDocumentPrimitive

      public boolean isDocumentPrimitive()
      provides check for verifying if this element is a primitive or not.
      Returns:
      true if this element is of type DocumentPrimitive, false otherwise.
    • isDocumentNull

      public boolean isDocumentNull()
      provides check for verifying if this element represents a null value or not.
      Returns:
      true if this element is of type DocumentNull, false otherwise.
      Since:
      1.2
    • getAsDocument

      public Document getAsDocument()
      convenience method to get this element as a Document. If the element is of some other type, a IllegalStateException will result. Hence it is best to use this method after ensuring that this element is of the desired type by calling isDocument() first.
      Returns:
      get this element as a Document.
      Throws:
      IllegalStateException - if the element is of another type.
    • getAsDocumentArray

      public DocumentArray getAsDocumentArray()
      convenience method to get this element as a DocumentArray. If the element is of some other type, a IllegalStateException will result. Hence it is best to use this method after ensuring that this element is of the desired type by calling isDocumentArray() first.
      Returns:
      get this element as a DocumentArray.
      Throws:
      IllegalStateException - if the element is of another type.
    • getAsDocumentPrimitive

      public DocumentPrimitive getAsDocumentPrimitive()
      convenience method to get this element as a DocumentPrimitive. If the element is of some other type, a IllegalStateException will result. Hence it is best to use this method after ensuring that this element is of the desired type by calling isDocumentPrimitive() first.
      Returns:
      get this element as a DocumentPrimitive.
      Throws:
      IllegalStateException - if the element is of another type.
    • getAsDocumentNull

      public DocumentNull getAsDocumentNull()
      convenience method to get this element as a DocumentNull. If the element is of some other type, a IllegalStateException will result. Hence it is best to use this method after ensuring that this element is of the desired type by calling isDocumentNull() first.
      Returns:
      get this element as a DocumentNull.
      Throws:
      IllegalStateException - if the element is of another type.
      Since:
      1.2
    • getAsBoolean

      public boolean getAsBoolean()
      convenience method to get this element as a boolean value.
      Returns:
      get this element as a primitive boolean value.
      Throws:
      ClassCastException - if the element is of not a DocumentPrimitive and is not a valid boolean value.
      IllegalStateException - if the element is of the type DocumentArray but contains more than a single element.
    • getAsNumber

      public Number getAsNumber()
      convenience method to get this element as a Number.
      Returns:
      get this element as a Number.
      Throws:
      ClassCastException - if the element is of not a DocumentPrimitive and is not a valid number.
      IllegalStateException - if the element is of the type DocumentArray but contains more than a single element.
    • getAsString

      public String getAsString()
      convenience method to get this element as a string value.
      Returns:
      get this element as a string value.
      Throws:
      ClassCastException - if the element is of not a DocumentPrimitive and is not a valid string value.
      IllegalStateException - if the element is of the type DocumentArray but contains more than a single element.
    • getAsDouble

      public double getAsDouble()
      convenience method to get this element as a primitive double value.
      Returns:
      get this element as a primitive double value.
      Throws:
      ClassCastException - if the element is of not a DocumentPrimitive and is not a valid double value.
      IllegalStateException - if the element is of the type DocumentArray but contains more than a single element.
    • getAsFloat

      public float getAsFloat()
      convenience method to get this element as a primitive float value.
      Returns:
      get this element as a primitive float value.
      Throws:
      ClassCastException - if the element is of not a DocumentPrimitive and is not a valid float value.
      IllegalStateException - if the element is of the type DocumentArray but contains more than a single element.
    • getAsLong

      public long getAsLong()
      convenience method to get this element as a primitive long value.
      Returns:
      get this element as a primitive long value.
      Throws:
      ClassCastException - if the element is of not a DocumentPrimitive and is not a valid long value.
      IllegalStateException - if the element is of the type DocumentArray but contains more than a single element.
    • getAsInt

      public int getAsInt()
      convenience method to get this element as a primitive integer value.
      Returns:
      get this element as a primitive integer value.
      Throws:
      ClassCastException - if the element is of not a DocumentPrimitive and is not a valid integer value.
      IllegalStateException - if the element is of the type DocumentArray but contains more than a single element.
    • getAsByte

      public byte getAsByte()
      convenience method to get this element as a primitive byte value.
      Returns:
      get this element as a primitive byte value.
      Throws:
      ClassCastException - if the element is of not a DocumentPrimitive and is not a valid byte value.
      IllegalStateException - if the element is of the type DocumentArray but contains more than a single element.
      Since:
      1.3
    • getAsCharacter

      public char getAsCharacter()
      convenience method to get this element as a primitive character value.
      Returns:
      get this element as a primitive char value.
      Throws:
      ClassCastException - if the element is of not a DocumentPrimitive and is not a valid char value.
      IllegalStateException - if the element is of the type DocumentArray but contains more than a single element.
      Since:
      1.3
    • getAsBigDecimal

      public BigDecimal getAsBigDecimal()
      convenience method to get this element as a BigDecimal.
      Returns:
      get this element as a BigDecimal.
      Throws:
      ClassCastException - if the element is of not a DocumentPrimitive.
      NumberFormatException - if the element is not a valid BigDecimal.
      IllegalStateException - if the element is of the type DocumentArray but contains more than a single element.
      Since:
      1.2
    • getAsBigInteger

      public BigInteger getAsBigInteger()
      convenience method to get this element as a BigInteger.
      Returns:
      get this element as a BigInteger.
      Throws:
      ClassCastException - if the element is of not a DocumentPrimitive.
      NumberFormatException - if the element is not a valid BigInteger.
      IllegalStateException - if the element is of the type DocumentArray but contains more than a single element.
      Since:
      1.2
    • getAsShort

      public short getAsShort()
      convenience method to get this element as a primitive short value.
      Returns:
      get this element as a primitive short value.
      Throws:
      ClassCastException - if the element is of not a DocumentPrimitive and is not a valid short value.
      IllegalStateException - if the element is of the type DocumentArray but contains more than a single element.
    • toString

      public String toString()
      Returns a String representation of this element.
      Overrides:
      toString in class Object
    • toStringNoIndent

      public String toStringNoIndent()
    • extend

      public static DocumentElement extend(DocumentElement documentElement)
      Returns a copy-on-write view of the given element. The view shares structure with the input rather than copying it, and every nested Document or DocumentArray read through the view is itself returned as a view, so writes through the result at any depth never reaches the input. Primitives and nulls are immutable and are returned as-is.

      The view reads through to the input for anything it has not overridden, so the input must not be mutated after this call. If the input may change, use deepCopy() instead.

      Parameters:
      documentElement - the element to extend.
      Returns:
      an independently mutable view of documentElement, or documentElement itself if it is a primitive or null.
      See Also: