From 58db7dade792660dc8c55fd753a797678a15ad34 Mon Sep 17 00:00:00 2001 From: gjoranv Date: Mon, 4 Oct 2021 12:17:56 +0200 Subject: Add equals and hashCode for Cluster. --- hosted-zone-api/abi-spec.json | 4 +++- .../src/main/java/ai/vespa/cloud/Cluster.java | 16 ++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) 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 (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 indices; public Cluster(int size, List 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); + } + } -- cgit v1.2.3