]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.document.server/src/org/simantics/document/server/state/StateRootNode.java
New implementation of server state based on StandardNodeManager
[simantics/platform.git] / bundles / org.simantics.document.server / src / org / simantics / document / server / state / StateRootNode.java
diff --git a/bundles/org.simantics.document.server/src/org/simantics/document/server/state/StateRootNode.java b/bundles/org.simantics.document.server/src/org/simantics/document/server/state/StateRootNode.java
new file mode 100644 (file)
index 0000000..669cbb2
--- /dev/null
@@ -0,0 +1,32 @@
+package org.simantics.document.server.state;
+
+import java.util.Map;
+import java.util.TreeMap;
+
+public class StateRootNode extends StateNode {
+
+       public Map<String, StateNode> properties = new TreeMap<>();
+
+       public Map<String, StateNode> getProperties() {
+               return properties;
+       }
+
+       public StatePropertyNode getProperty(String key) {
+               return (StatePropertyNode) properties.get(key);
+       }
+
+       public StatePropertyNode createProperty(String key) {
+               StatePropertyNode propertyNode = new StatePropertyNode(key);
+               properties.put(key, propertyNode);
+               return propertyNode;
+       }
+
+       public boolean removeProperty(String key) {
+               return (properties.remove(key) != null);
+       }
+
+       public void clear() {
+               properties.clear();
+       }
+
+}