1 package org.simantics.db.layer0.variable;
\r
3 import org.simantics.databoard.type.Datatype;
\r
4 import org.simantics.utils.ObjectUtils;
\r
7 * @author Tuukka Lehtonen
\r
9 public class VariableReference {
\r
11 public final RVI variableId;
\r
13 public final Datatype datatype;
\r
15 public String label;
\r
17 public static VariableReference of(RVI variableId, Datatype datatype, String label) {
\r
18 return new VariableReference(variableId, datatype, label);
\r
21 public VariableReference(RVI variableId, Datatype datatype, String label) {
\r
22 if (variableId == null)
\r
23 throw new NullPointerException("null variable reference");
\r
24 this.variableId = variableId;
\r
25 this.datatype = datatype;
\r
29 public RVI getVariableId() {
\r
33 public Datatype getDatatype() {
\r
37 public String getLabel() {
\r
42 public int hashCode() {
\r
43 return ObjectUtils.hashCode(datatype) * 31 + variableId.hashCode();
\r
47 public boolean equals(Object obj) {
\r
52 if (getClass() != obj.getClass())
\r
54 VariableReference other = (VariableReference) obj;
\r
55 return variableId.equals(other.variableId) && ObjectUtils.objectEquals(datatype, other.datatype);
\r
56 // && ObjectUtils.objectEquals(label, other.label);
\r
60 public String toString() {
\r
61 StringBuilder sb = new StringBuilder();
\r
62 sb.append(variableId);
\r
63 if (datatype != null)
\r
64 sb.append(" : ").append(datatype.toSingleLineString());
\r
66 sb.append(" (").append(label).append(")");
\r
67 return sb.toString();
\r