summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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);
+ }
+
}