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. 
 - 
 
 -