diff options
author | gjoranv <gv@verizonmedia.com> | 2021-10-04 15:20:27 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-04 15:20:27 +0200 |
commit | e91effd454ba91debba88f63aa4ad0fa89f4779e (patch) | |
tree | a7304ea885f16a359716eaeb673b907ec8de8978 | |
parent | d1479d2a40d215bbc5670b02e4fd691765f3442a (diff) | |
parent | 58db7dade792660dc8c55fd753a797678a15ad34 (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.json | 4 | ||||
-rw-r--r-- | hosted-zone-api/src/main/java/ai/vespa/cloud/Cluster.java | 16 |
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); + } + } |