aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgjoranv <gv@verizonmedia.com>2021-10-04 15:20:27 +0200
committerGitHub <noreply@github.com>2021-10-04 15:20:27 +0200
commite91effd454ba91debba88f63aa4ad0fa89f4779e (patch)
treea7304ea885f16a359716eaeb673b907ec8de8978
parentd1479d2a40d215bbc5670b02e4fd691765f3442a (diff)
parent58db7dade792660dc8c55fd753a797678a15ad34 (diff)
Merge pull request #19414 from vespa-engine/add-equals-and-hashcodev7.477.12
Add equals and hashCode for Cluster.
-rw-r--r--hosted-zone-api/abi-spec.json4
-rw-r--r--hosted-zone-api/src/main/java/ai/vespa/cloud/Cluster.java16
2 files changed, 19 insertions, 1 deletions
diff --git a/hosted-zone-api/abi-spec.json b/hosted-zone-api/abi-spec.json
index 00b776922d4..4195fd5f10c 100644
--- a/hosted-zone-api/abi-spec.json
+++ b/hosted-zone-api/abi-spec.json
@@ -8,7 +8,9 @@
"methods": [
"public void <init>(int, java.util.List)",
"public int size()",
- "public java.util.List indices()"
+ "public java.util.List indices()",
+ "public boolean equals(java.lang.Object)",
+ "public int hashCode()"
],
"fields": []
},
diff --git a/hosted-zone-api/src/main/java/ai/vespa/cloud/Cluster.java b/hosted-zone-api/src/main/java/ai/vespa/cloud/Cluster.java
index 5db68b9d5b3..dba0e3f30bc 100644
--- a/hosted-zone-api/src/main/java/ai/vespa/cloud/Cluster.java
+++ b/hosted-zone-api/src/main/java/ai/vespa/cloud/Cluster.java
@@ -2,6 +2,7 @@ package ai.vespa.cloud;
import java.util.Collections;
import java.util.List;
+import java.util.Objects;
/**
* The properties of a cluster of nodes.
@@ -14,6 +15,7 @@ public class Cluster {
private final List<Integer> indices;
public Cluster(int size, List<Integer> indices) {
+ Objects.requireNonNull(indices, "Indices cannot be null!");
this.size = size;
this.indices = Collections.unmodifiableList(indices);
}
@@ -26,4 +28,18 @@ public class Cluster {
return indices;
}
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ Cluster cluster = (Cluster) o;
+ return size == cluster.size &&
+ indices.equals(cluster.indices);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(size, indices);
+ }
+
}