diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2018-09-12 08:43:04 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2018-09-12 08:43:04 +0200 |
commit | 6622ef49ea6a9336339dbe6ec6d54153d590ad30 (patch) | |
tree | 32474f8003c469fc23ed99c461cc9f244ebd6f84 /document | |
parent | e081b9a0cf120903ee5ddaf852245c05ece3b0c2 (diff) |
Just compare what is necessary for equality.
Diffstat (limited to 'document')
-rw-r--r-- | document/src/main/java/com/yahoo/document/DataType.java | 4 | ||||
-rw-r--r-- | document/src/main/java/com/yahoo/document/ReferenceDataType.java | 15 |
2 files changed, 16 insertions, 3 deletions
diff --git a/document/src/main/java/com/yahoo/document/DataType.java b/document/src/main/java/com/yahoo/document/DataType.java index abdbf394591..3f34314f0de 100644 --- a/document/src/main/java/com/yahoo/document/DataType.java +++ b/document/src/main/java/com/yahoo/document/DataType.java @@ -246,9 +246,7 @@ public abstract class DataType extends Identifiable implements Serializable, Com } public boolean equals(Object other) { - if (!(other instanceof DataType)) return false; - DataType type = (DataType)other; - return (name.equals(type.name) && dataTypeId == type.dataTypeId); + return (other instanceof DataType) && (dataTypeId == ((DataType)other).dataTypeId); } public String toString() { diff --git a/document/src/main/java/com/yahoo/document/ReferenceDataType.java b/document/src/main/java/com/yahoo/document/ReferenceDataType.java index 5b5ba256f43..32c6f86ea31 100644 --- a/document/src/main/java/com/yahoo/document/ReferenceDataType.java +++ b/document/src/main/java/com/yahoo/document/ReferenceDataType.java @@ -98,4 +98,19 @@ public class ReferenceDataType extends DataType { ReferenceFieldValue rhs = (ReferenceFieldValue)value; return rhs.getDataType().equals(this); } + + @Override + public int compareTo(DataType rhs) { + int cmp = super.compareTo(rhs); + return (cmp != 0) + ? cmp + : (rhs instanceof ReferenceDataType) ? targetType.compareTo(((ReferenceDataType) rhs).targetType) : 0; + } + + @Override + public boolean equals(Object rhs) { + return super.equals(rhs) + && (rhs instanceof ReferenceDataType) + && targetType.equals(((ReferenceDataType) rhs).targetType); + } } |