Make Pair class equality comparable
Change-Id: I98ac87f6a978dde99f3b099d7d6ea596b078358c
diff --git a/src/main/java/net/onrc/onos/core/util/Pair.java b/src/main/java/net/onrc/onos/core/util/Pair.java
index abf9fed..6fe8101 100644
--- a/src/main/java/net/onrc/onos/core/util/Pair.java
+++ b/src/main/java/net/onrc/onos/core/util/Pair.java
@@ -1,5 +1,7 @@
package net.onrc.onos.core.util;
+import java.util.Objects;
+
/**
* A generic class representing a pair of two values.
*/
@@ -22,4 +24,24 @@
public String toString() {
return String.format("<%s, %s>", first, second);
}
+
+ @Override
+ public boolean equals(Object o) {
+ if (o == this) {
+ return true;
+ }
+
+ if (!(o instanceof Pair)) {
+ return false;
+ }
+
+ Pair<?, ?> that = (Pair<?, ?>) o;
+ return Objects.equals(this.first, that.first)
+ && Objects.equals(this.second, that.second);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(this.first, this.second);
+ }
}