]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/variable/ConstantPropertyVariable.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.db.layer0 / src / org / simantics / db / layer0 / variable / ConstantPropertyVariable.java
index 33601b846cc81a0c9b0c86853db68833f4163065..b3eaf7e21de713826d2f08ffc1ac83899ded1638 100644 (file)
-package org.simantics.db.layer0.variable;\r
-\r
-import java.util.Collection;\r
-import java.util.Collections;\r
-import java.util.HashMap;\r
-import java.util.Map;\r
-import java.util.Set;\r
-\r
-import org.simantics.databoard.binding.Binding;\r
-import org.simantics.databoard.type.Datatype;\r
-import org.simantics.db.ReadGraph;\r
-import org.simantics.db.Resource;\r
-import org.simantics.db.WriteGraph;\r
-import org.simantics.db.exception.DatabaseException;\r
-import org.simantics.utils.ObjectUtils;\r
-\r
-public class ConstantPropertyVariable extends AbstractPropertyVariable {\r
-\r
-    final protected Variable parent;\r
-    final String name;\r
-    final Object value;\r
-    final Binding binding;\r
-    final Map<String, Variable> properties;\r
-\r
-    public ConstantPropertyVariable(Variable parent, String name, Object value, Binding binding, Collection<ConstantPropertyVariableBuilder> propertyBuilders, Set<String> classifications) {\r
-        assert parent != null;\r
-        assert name != null;\r
-        this.parent = parent;\r
-        this.name = name;\r
-        this.value = value;\r
-        this.binding = binding;\r
-        this.properties = new HashMap<String, Variable>(propertyBuilders.size());\r
-        for(ConstantPropertyVariableBuilder builder : propertyBuilders) {\r
-               properties.put(builder.getName(), builder.build(this));\r
-        }\r
-        if(!classifications.isEmpty())\r
-               properties.put(Variables.CLASSIFICATIONS, new ConstantPropertyVariable(this, Variables.CLASSIFICATIONS, classifications, null));\r
-    }\r
-\r
-    public ConstantPropertyVariable(Variable parent, String name, Object value, Binding binding) {\r
-       this(parent, name, value, binding, Collections.<ConstantPropertyVariableBuilder>emptyList(), Collections.<String>emptySet());\r
-    }\r
-\r
-    @Override\r
-    public <T> T getValue(ReadGraph graph) throws DatabaseException {\r
-        return (T)value;\r
-    }\r
-\r
-    @Override\r
-    public <T> T getValue(ReadGraph graph, Binding binding)\r
-            throws DatabaseException {        \r
-        return (T)value;\r
-    }\r
-\r
-    @Override\r
-    public void setValue(WriteGraph graph, Object value, Binding binding)\r
-            throws DatabaseException {\r
-        throw new DatabaseException("Value is constant.");\r
-    }\r
-\r
-    @Override\r
-    public String getName(ReadGraph graph) throws DatabaseException {\r
-        return name;\r
-    }\r
-\r
-    @Override\r
-    public Resource getType(ReadGraph graph) throws DatabaseException {\r
-        return null;\r
-    }\r
-\r
-    @Override\r
-    public Resource getPossibleType(ReadGraph graph) throws DatabaseException {\r
-        return null;\r
-    }\r
-\r
-    @Override\r
-    public Resource getType(ReadGraph graph, Resource baseType) throws DatabaseException {\r
-        return null;\r
-    }\r
-\r
-    @Override\r
-    public Resource getPossibleType(ReadGraph graph, Resource baseType) throws DatabaseException {\r
-        return null;\r
-    }\r
-\r
-//    @Override\r
-//    public Object getSerialized(ReadGraph graph) throws DatabaseException {\r
-//        return name;\r
-//    }\r
-\r
-    @Override\r
-    public Variable getParent(ReadGraph graph) throws DatabaseException {\r
-        return parent;\r
-    }\r
-\r
-    @Override\r
-    public Resource getRepresents(ReadGraph graph) throws DatabaseException {\r
-        return null;\r
-    }\r
-    \r
-    @Override\r
-    public Datatype getDatatype(ReadGraph graph) throws DatabaseException {\r
-        return binding != null ? binding.type() : null;\r
-    }\r
-    \r
-    @Override\r
-    public Resource getPropertyResource(ReadGraph graph) throws DatabaseException {\r
-       return null;\r
-    }\r
-\r
-    @Override\r
-    public Resource getContainerResource(ReadGraph graph) throws DatabaseException {\r
-       return null;\r
-    }\r
-    \r
-    @Override\r
-    public Variable getPredicate(ReadGraph graph) throws DatabaseException {\r
-       return null;\r
-    }\r
-    \r
-    @Override\r
-    protected Variable getPossibleDomainProperty(ReadGraph graph, String name)\r
-               throws DatabaseException {\r
-       return properties.get(name);\r
-    }\r
-\r
-    @Override\r
-    public Map<String, Variable> collectDomainProperties(ReadGraph graph,\r
-               Map<String, Variable> properties) throws DatabaseException {\r
-       if(!this.properties.isEmpty()) {\r
-               if(properties == null) properties = new HashMap<String,Variable>(this.properties.size());\r
-               properties.putAll(this.properties);\r
-       }\r
-       return properties;\r
-    }\r
-    \r
-    @Override\r
-    public Set<String> getClassifications(ReadGraph graph) throws DatabaseException {\r
-       Variable property = getPossibleDomainProperty(graph, Variables.CLASSIFICATIONS);\r
-       if(property != null) return property.getValue(graph);\r
-       else return Collections.emptySet();\r
-    }\r
-    \r
-    @Override\r
-    public int hashCode() {\r
-        final int prime = 31;\r
-        int result = 1;\r
-        result = prime * result + name.hashCode();\r
-        result = prime * result + parent.hashCode();\r
-        result = prime * result + ((value == null) ? 0 : value.hashCode());\r
-        result = prime * result + ((binding == null) ? 0 : binding.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
-        ConstantPropertyVariable other = (ConstantPropertyVariable) obj;\r
-        if (!name.equals(other.name))\r
-            return false;\r
-        if (!parent.equals(other.parent))\r
-            return false;\r
-        if (!ObjectUtils.objectEquals(value, other.value))\r
-            return false;\r
-        return ObjectUtils.objectEquals(binding, other.binding);\r
-    }\r
-\r
-}\r
+package org.simantics.db.layer0.variable;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+import org.simantics.databoard.binding.Binding;
+import org.simantics.databoard.type.Datatype;
+import org.simantics.db.ReadGraph;
+import org.simantics.db.Resource;
+import org.simantics.db.WriteGraph;
+import org.simantics.db.exception.DatabaseException;
+import org.simantics.utils.ObjectUtils;
+
+public class ConstantPropertyVariable extends AbstractPropertyVariable {
+
+    final protected Variable parent;
+    final String name;
+    final Object value;
+    final Binding binding;
+    final Map<String, Variable> properties;
+
+    public ConstantPropertyVariable(Variable parent, String name, Object value, Binding binding, Collection<ConstantPropertyVariableBuilder> propertyBuilders, Set<String> classifications) {
+        assert parent != null;
+        assert name != null;
+        this.parent = parent;
+        this.name = name;
+        this.value = value;
+        this.binding = binding;
+        this.properties = new HashMap<String, Variable>(propertyBuilders.size());
+        for(ConstantPropertyVariableBuilder builder : propertyBuilders) {
+               properties.put(builder.getName(), builder.build(this));
+        }
+        if(!classifications.isEmpty())
+               properties.put(Variables.CLASSIFICATIONS, new ConstantPropertyVariable(this, Variables.CLASSIFICATIONS, classifications, null));
+    }
+
+    public ConstantPropertyVariable(Variable parent, String name, Object value, Binding binding) {
+       this(parent, name, value, binding, Collections.<ConstantPropertyVariableBuilder>emptyList(), Collections.<String>emptySet());
+    }
+
+    @Override
+    public <T> T getValue(ReadGraph graph) throws DatabaseException {
+        return (T)value;
+    }
+
+    @Override
+    public <T> T getValue(ReadGraph graph, Binding binding)
+            throws DatabaseException {        
+        return (T)value;
+    }
+
+    @Override
+    public void setValue(WriteGraph graph, Object value, Binding binding)
+            throws DatabaseException {
+        throw new DatabaseException("Value is constant.");
+    }
+
+    @Override
+    public String getName(ReadGraph graph) throws DatabaseException {
+        return name;
+    }
+
+    @Override
+    public Resource getType(ReadGraph graph) throws DatabaseException {
+        return null;
+    }
+
+    @Override
+    public Resource getPossibleType(ReadGraph graph) throws DatabaseException {
+        return null;
+    }
+
+    @Override
+    public Resource getType(ReadGraph graph, Resource baseType) throws DatabaseException {
+        return null;
+    }
+
+    @Override
+    public Resource getPossibleType(ReadGraph graph, Resource baseType) throws DatabaseException {
+        return null;
+    }
+
+//    @Override
+//    public Object getSerialized(ReadGraph graph) throws DatabaseException {
+//        return name;
+//    }
+
+    @Override
+    public Variable getParent(ReadGraph graph) throws DatabaseException {
+        return parent;
+    }
+
+    @Override
+    public Resource getRepresents(ReadGraph graph) throws DatabaseException {
+        return null;
+    }
+    
+    @Override
+    public Datatype getDatatype(ReadGraph graph) throws DatabaseException {
+        return binding != null ? binding.type() : null;
+    }
+    
+    @Override
+    public Resource getPropertyResource(ReadGraph graph) throws DatabaseException {
+       return null;
+    }
+
+    @Override
+    public Resource getContainerResource(ReadGraph graph) throws DatabaseException {
+       return null;
+    }
+    
+    @Override
+    public Variable getPredicate(ReadGraph graph) throws DatabaseException {
+       return null;
+    }
+    
+    @Override
+    protected Variable getPossibleDomainProperty(ReadGraph graph, String name)
+               throws DatabaseException {
+       return properties.get(name);
+    }
+
+    @Override
+    public Map<String, Variable> collectDomainProperties(ReadGraph graph,
+               Map<String, Variable> properties) throws DatabaseException {
+       if(!this.properties.isEmpty()) {
+               if(properties == null) properties = new HashMap<String,Variable>(this.properties.size());
+               properties.putAll(this.properties);
+       }
+       return properties;
+    }
+    
+    @Override
+    public Set<String> getClassifications(ReadGraph graph) throws DatabaseException {
+       Variable property = getPossibleDomainProperty(graph, Variables.CLASSIFICATIONS);
+       if(property != null) return property.getValue(graph);
+       else return Collections.emptySet();
+    }
+    
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + name.hashCode();
+        result = prime * result + parent.hashCode();
+        result = prime * result + ((value == null) ? 0 : value.hashCode());
+        result = prime * result + ((binding == null) ? 0 : binding.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;
+        ConstantPropertyVariable other = (ConstantPropertyVariable) obj;
+        if (!name.equals(other.name))
+            return false;
+        if (!parent.equals(other.parent))
+            return false;
+        if (!ObjectUtils.objectEquals(value, other.value))
+            return false;
+        return ObjectUtils.objectEquals(binding, other.binding);
+    }
+
+}