java.lang.Object
com.inductiveautomation.ignition.client.jsonedit.DocumentNode

public class DocumentNode extends Object
Created by carlg on 5/15/2017.
  • Field Details

    • change

      protected final PropertyChangeSupport change
      This slightly modified property change support object also forwards each event upwards directly to the model, which is what triggers the model to know when to run the validation routine.
  • Constructor Details

    • DocumentNode

      public DocumentNode(NodeType type)
    • DocumentNode

      public DocumentNode(DocumentNode copy)
  • Method Details

    • isEquivalent

      public boolean isEquivalent(DocumentNode other)
    • getModel

      public DocumentModel getModel()
    • findSchema

      public Optional<JsonSchema> findSchema()
      Finds the schema object for this node, if any
    • findChild

      public Optional<DocumentNode> findChild(Object key)
    • findNode

      public Optional<DocumentNode> findNode(JsonPath path)
    • setType

      public void setType(NodeType type)
    • setType

      public void setType(NodeType type, boolean retainChildren)
      Sets the type, with an option to discard any children.
    • getPath

      public JsonPath getPath()
    • getDirtyPath

      public JsonPath getDirtyPath()
      Returns the path of a key that has yet to be committed. Useful only with value node types.
    • setVisible

      public void setVisible(boolean visible)
    • isVisible

      public boolean isVisible()
    • toJson

      public com.inductiveautomation.ignition.common.gson.JsonElement toJson()
    • isRoot

      public boolean isRoot()
    • getType

      public NodeType getType()
    • getKey

      public Object getKey()
    • getKeyAsString

      public String getKeyAsString()
    • getKeyAsIndex

      public int getKeyAsIndex()
    • setKey

      public void setKey(Object newKey)
    • getDirtyKey

      public Object getDirtyKey()
    • getDirtyKeyAsString

      public String getDirtyKeyAsString()
    • setDirtyKey

      public void setDirtyKey(Object newDirtyKey)
    • getValue

      public Object getValue()
    • setValue

      public void setValue(Object value)
    • getQuality

      public QualityCode getQuality()
    • setQuality

      public void setQuality(QualityCode quality)
    • isNull

      public boolean isNull()
    • isObjectOrArray

      public boolean isObjectOrArray()
    • isObject

      public boolean isObject()
    • isArray

      public boolean isArray()
    • getParent

      public DocumentNode getParent()
    • getChildCount

      public int getChildCount()
    • getChildren

      public Iterator<DocumentNode> getChildren()
    • appendChild

      public void appendChild(DocumentNode newNode)
      Adds a new child to this node. The node type must be Object or Array. Arrays will automatically set the key of the new node.
    • insertChild

      public void insertChild(int index, DocumentNode newNode)
      Inserts a child in a specific location. If this is an array, the index key will be set automatically. Will throw an IllegalArgumentException if given a bogus index.
    • setChild

      public void setChild(int index, DocumentNode newNode)
      Overwrites the child node at the given index with this node.
    • indexOf

      public int indexOf(DocumentNode childNode)
      Returns:
      the index of the given child, or -1 if the child is not present
    • repositionNode

      public void repositionNode(DocumentNode child, int newIndex)
    • removeChild

      public void removeChild(DocumentNode node)
    • replaceChildren

      public void replaceChildren(Map<String,DocumentNode> newChildMap)
    • replaceChildren

      public void replaceChildren(List<DocumentNode> newChildArray)
    • reorderBySchema

      public void reorderBySchema(@Nonnull JsonPath path, @Nonnull JsonSchema schema)
      Re-order this node's children, if it is an object with child nodes, according to the schema
      Parameters:
      path - Path to this node relative to the given schmea
    • setValueJson

      public void setValueJson(@Nonnull com.inductiveautomation.ignition.common.gson.JsonElement element)
      Sets the value, element is expected to be json null or primitive.
    • setValueDocument

      public void setValueDocument(DocumentElement element)
    • getValidationErrors

      public Collection<ValidationResults.ValidationError> getValidationErrors()
    • setValidationErrors

      public void setValidationErrors(Collection<ValidationResults.ValidationError> validationErrors)
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • addPropertyChangeListener

      public void addPropertyChangeListener(PropertyChangeListener listener)
    • removePropertyChangeListener

      public void removePropertyChangeListener(PropertyChangeListener listener)
    • addPropertyChangeListener

      public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
    • removePropertyChangeListener

      public void removePropertyChangeListener(String propertyName, PropertyChangeListener listener)