-package org.simantics.db.layer0.variable;\r
-\r
-import java.util.concurrent.TimeUnit;\r
-\r
-import org.simantics.databoard.binding.mutable.Variant;\r
-import org.simantics.db.layer0.variable.Variables.NodeStructure;\r
-import org.simantics.simulator.variable.NodeManager;\r
-\r
-/**\r
- * @author Antti Villberg\r
- *\r
- * @param <Node>\r
- * @since 1.23\r
- */\r
-public class NodeSupport<Node> {\r
-\r
- public final NodeManager<Node> manager;\r
- public final NodeCache<Node,Variant> valueCache;\r
- public final NodeCache<Node,NodeStructure> structureCache;\r
-\r
- public NodeSupport(NodeManager<Node> manager) {\r
- this(manager, 1, TimeUnit.SECONDS);\r
- }\r
-\r
- public NodeSupport(NodeManager<Node> manager, long defaultExpirationTime, TimeUnit expirationTimeUnit) {\r
- if (manager == null)\r
- throw new NullPointerException("null NodeManager");\r
- long ns = expirationTimeUnit.toNanos(defaultExpirationTime);\r
- this.manager = manager;\r
- this.valueCache = new NodeCache<>(ns);\r
- this.structureCache = new NodeCache<>(ns);\r
- }\r
-\r
- @Override\r
- public int hashCode() {\r
- final int prime = 31;\r
- int result = 1;\r
- result = prime * result + valueCache.hashCode();\r
- result = prime * result + structureCache.hashCode();\r
- result = prime * result + manager.hashCode();\r
- return result;\r
- }\r
-\r
- @Override\r
- public boolean equals(Object obj) {\r
- if (this == obj)\r
- return true;\r
- if (obj == null)\r
- return false;\r
- if (getClass() != obj.getClass())\r
- return false;\r
- NodeSupport<?> other = (NodeSupport<?>) obj;\r
- return valueCache.equals(other.valueCache)\r
- && structureCache.equals(other.structureCache)\r
- && manager.equals(other.manager);\r
- }\r
-\r
- public void dispose() {\r
- valueCache.dispose();\r
- structureCache.dispose();\r
- }\r
-\r
-}\r
+package org.simantics.db.layer0.variable;
+
+import java.util.concurrent.TimeUnit;
+
+import org.simantics.databoard.binding.mutable.Variant;
+import org.simantics.db.layer0.variable.Variables.NodeStructure;
+import org.simantics.simulator.variable.NodeManager;
+
+/**
+ * @author Antti Villberg
+ *
+ * @param <Node>
+ * @since 1.23
+ */
+public class NodeSupport<Node> {
+
+ public final NodeManager<Node> manager;
+ public final NodeCache<Node,Variant> valueCache;
+ public final NodeCache<Node,NodeStructure> structureCache;
+
+ public NodeSupport(NodeManager<Node> manager) {
+ this(manager, 1, TimeUnit.SECONDS);
+ }
+
+ public NodeSupport(NodeManager<Node> manager, long defaultExpirationTime, TimeUnit expirationTimeUnit) {
+ if (manager == null)
+ throw new NullPointerException("null NodeManager");
+ long ns = expirationTimeUnit.toNanos(defaultExpirationTime);
+ this.manager = manager;
+ this.valueCache = new NodeCache<>(ns);
+ this.structureCache = new NodeCache<>(ns);
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + valueCache.hashCode();
+ result = prime * result + structureCache.hashCode();
+ result = prime * result + manager.hashCode();
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (getClass() != obj.getClass())
+ return false;
+ NodeSupport<?> other = (NodeSupport<?>) obj;
+ return valueCache.equals(other.valueCache)
+ && structureCache.equals(other.structureCache)
+ && manager.equals(other.manager);
+ }
+
+ public void dispose() {
+ valueCache.dispose();
+ structureCache.dispose();
+ }
+
+}