X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.structural2%2Fsrc%2Forg%2Fsimantics%2Fstructural2%2Fvariables%2FMutablePropertyVariable.java;h=f69662ef999a89e69086a9ee8e9f44c193bbe886;hb=e807368d0e75809e0797d9cea1063b046fabf352;hp=90e66d2b1cee7bc7e9c7758f0773162784a47370;hpb=969bd23cab98a79ca9101af33334000879fb60c5;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.structural2/src/org/simantics/structural2/variables/MutablePropertyVariable.java b/bundles/org.simantics.structural2/src/org/simantics/structural2/variables/MutablePropertyVariable.java index 90e66d2b1..f69662ef9 100644 --- a/bundles/org.simantics.structural2/src/org/simantics/structural2/variables/MutablePropertyVariable.java +++ b/bundles/org.simantics.structural2/src/org/simantics/structural2/variables/MutablePropertyVariable.java @@ -1,163 +1,163 @@ -package org.simantics.structural2.variables; - -import java.util.Collections; -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.db.layer0.variable.AbstractPropertyVariable; -import org.simantics.db.layer0.variable.Variable; -import org.simantics.db.layer0.variable.Variables; -import org.simantics.utils.ObjectUtils; - -/** - * TODO: consider removing this, doesn't seem to be used - */ -public class MutablePropertyVariable extends AbstractPropertyVariable { - - final protected Variable parent; - final String name; - - public Object value; - public Binding binding; - - public MutablePropertyVariable(Variable parent, String name) { - assert parent != null; - assert name != null; - this.parent = parent; - this.name = name; - } - - @SuppressWarnings("unchecked") - @Override - public T getValue(ReadGraph graph) throws DatabaseException { - return (T)value; - } - - @SuppressWarnings("unchecked") - @Override - public 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 null; - } - - @Override - public Map collectDomainProperties(ReadGraph graph, - Map properties) throws DatabaseException { - return properties; - } - - @Override - public Set 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; - MutablePropertyVariable other = (MutablePropertyVariable) 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); - } - -} +package org.simantics.structural2.variables; + +import java.util.Collections; +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.db.layer0.variable.AbstractPropertyVariable; +import org.simantics.db.layer0.variable.Variable; +import org.simantics.db.layer0.variable.Variables; +import org.simantics.utils.ObjectUtils; + +/** + * TODO: consider removing this, doesn't seem to be used + */ +public class MutablePropertyVariable extends AbstractPropertyVariable { + + final protected Variable parent; + final String name; + + public Object value; + public Binding binding; + + public MutablePropertyVariable(Variable parent, String name) { + assert parent != null; + assert name != null; + this.parent = parent; + this.name = name; + } + + @SuppressWarnings("unchecked") + @Override + public T getValue(ReadGraph graph) throws DatabaseException { + return (T)value; + } + + @SuppressWarnings("unchecked") + @Override + public 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 null; + } + + @Override + public Map collectDomainProperties(ReadGraph graph, + Map properties) throws DatabaseException { + return properties; + } + + @Override + public Set 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; + MutablePropertyVariable other = (MutablePropertyVariable) 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); + } + +}