Class DocumentModel
- java.lang.Object
-
- com.inductiveautomation.ignition.client.jsonedit.DocumentModel
-
- Direct Known Subclasses:
ComponentPropsDocumentModel
public class DocumentModel extends java.lang.ObjectModel that represents a json document, but held in memory as so to be editable by the JSON editor.
-
-
Field Summary
Fields Modifier and Type Field Description protected java.beans.PropertyChangeSupportchangeprotected DocumentNoderootprotected JsonSchemaschemastatic java.lang.StringVALIDATION_RESULTS
-
Constructor Summary
Constructors Constructor Description DocumentModel(DocumentNode root)DocumentModel(DocumentNode root, JsonSchema schema)DocumentModel(DocumentElement rootElement)DocumentModel(com.inductiveautomation.ignition.common.gson.JsonElement rootElement)DocumentModel(java.lang.String json)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddNodeChangeListener(NodeChangeListener listener)voidaddPropertyChangeListener(java.beans.PropertyChangeListener listener)voidaddPropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)voidaddValidator(DocumentValidator validator)voiddfs(java.util.function.Consumer<DocumentNode> visitor)Depth first tree traversal of the document.protected com.inductiveautomation.ignition.common.gson.JsonElementencodeValueAsJson(DocumentNode node)static DocumentNodefromDocument(DocumentElement element)static DocumentNodefromGson(com.inductiveautomation.ignition.common.gson.JsonElement element)Creates a DocumentNode hierarchy from a GSON json tree.com.inductiveautomation.ignition.common.gson.JsonElementgetAsJsonTree()DocumentNodegetRoot()JsonSchemagetSchema()ValidationResultsgetValidationResults()protected voidinitValidators()Override to customize JSON "validator" strategy.booleanisKeyEditable(DocumentNode node)booleanisValueEditable(DocumentNode node)protected voidonNodeChanged(java.beans.PropertyChangeEvent event)DocumentNodes feed ALL property change events up to the modelbooleanremoveNodeChangeListener(NodeChangeListener listener)voidremovePropertyChangeListener(java.beans.PropertyChangeListener listener)voidremovePropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)com.inductiveautomation.ignition.common.gson.JsonElementtoJson(DocumentNode node)
-
-
-
Field Detail
-
VALIDATION_RESULTS
public static final java.lang.String VALIDATION_RESULTS
- See Also:
- Constant Field Values
-
root
protected DocumentNode root
-
schema
protected JsonSchema schema
-
change
protected final java.beans.PropertyChangeSupport change
-
-
Constructor Detail
-
DocumentModel
public DocumentModel(java.lang.String json)
-
DocumentModel
public DocumentModel(com.inductiveautomation.ignition.common.gson.JsonElement rootElement)
-
DocumentModel
public DocumentModel(DocumentElement rootElement)
-
DocumentModel
public DocumentModel(DocumentNode root)
-
DocumentModel
public DocumentModel(DocumentNode root, @Nullable JsonSchema schema)
-
-
Method Detail
-
getRoot
public DocumentNode getRoot()
-
getAsJsonTree
public com.inductiveautomation.ignition.common.gson.JsonElement getAsJsonTree()
-
toJson
public com.inductiveautomation.ignition.common.gson.JsonElement toJson(DocumentNode node)
-
encodeValueAsJson
protected com.inductiveautomation.ignition.common.gson.JsonElement encodeValueAsJson(DocumentNode node)
-
getSchema
@Nullable public JsonSchema getSchema()
-
onNodeChanged
protected void onNodeChanged(java.beans.PropertyChangeEvent event)
DocumentNodes feed ALL property change events up to the model
-
isKeyEditable
public boolean isKeyEditable(DocumentNode node)
-
isValueEditable
public boolean isValueEditable(DocumentNode node)
-
addNodeChangeListener
public void addNodeChangeListener(NodeChangeListener listener)
-
removeNodeChangeListener
public boolean removeNodeChangeListener(NodeChangeListener listener)
-
addPropertyChangeListener
public void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
-
removePropertyChangeListener
public void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
-
addPropertyChangeListener
public void addPropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)
-
removePropertyChangeListener
public void removePropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)
-
addValidator
public void addValidator(DocumentValidator validator)
-
getValidationResults
public ValidationResults getValidationResults()
-
dfs
public void dfs(java.util.function.Consumer<DocumentNode> visitor)
Depth first tree traversal of the document.
-
fromGson
public static DocumentNode fromGson(com.inductiveautomation.ignition.common.gson.JsonElement element)
Creates a DocumentNode hierarchy from a GSON json tree. All value nodes get the AUTO type.
-
fromDocument
public static DocumentNode fromDocument(DocumentElement element)
-
initValidators
protected void initValidators()
Override to customize JSON "validator" strategy. Default behavior adds a schema validator, if a schema exists, and warns about duplicate or bad quality keys.
-
-