summaryrefslogtreecommitdiffstats
path: root/document
diff options
context:
space:
mode:
authorArne H Juul <arnej@yahoo-inc.com>2017-04-20 15:13:36 +0200
committerArne H Juul <arnej@yahoo-inc.com>2017-04-20 15:17:47 +0200
commit4d3a8842feff09fc19a89fbe6366c407e6c1e374 (patch)
tree3b6a7932f3ba240502517f08eb8561b8d8de0e2c /document
parent17834a22cd3109a6f13c5c4445ad80d734b655f3 (diff)
equals() should be reflexive
* make it so * also, implement hashCode()
Diffstat (limited to 'document')
-rw-r--r--document/src/main/java/com/yahoo/document/datatypes/FieldPathIteratorHandler.java23
1 files changed, 15 insertions, 8 deletions
diff --git a/document/src/main/java/com/yahoo/document/datatypes/FieldPathIteratorHandler.java b/document/src/main/java/com/yahoo/document/datatypes/FieldPathIteratorHandler.java
index c8d007037f3..726deb18859 100644
--- a/document/src/main/java/com/yahoo/document/datatypes/FieldPathIteratorHandler.java
+++ b/document/src/main/java/com/yahoo/document/datatypes/FieldPathIteratorHandler.java
@@ -47,17 +47,24 @@ public abstract class FieldPathIteratorHandler {
}
@Override
- public boolean equals(Object o) {
- IndexValue other = (IndexValue)o;
-
+ public int hashCode() {
+ int hc = index;
if (key != null) {
- if (other.key != null && key.equals(other.key)) {
- return true;
- }
- return false;
+ hc = key.hashCode();
}
+ return hc;
+ }
- return index == other.index;
+ @Override
+ public boolean equals(Object o) {
+ IndexValue other = (IndexValue)o;
+ if (key != null && other.key != null) {
+ return key.equals(other.key);
+ }
+ if (key == null && other.key == null) {
+ return index == other.index;
+ }
+ return false;
}
};