package com.hubspot.singularity; import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Objects; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; public class SingularityRequestGroup { private final String id; private final List<String> requestIds; private final Map<String, String> metadata; @JsonCreator public SingularityRequestGroup(@JsonProperty("id") String id, @JsonProperty("requestIds") List<String> requestIds, @JsonProperty("metadata") Map<String, String> metadata) { this.id = id; this.requestIds = requestIds; this.metadata = metadata != null ? metadata : Collections.<String, String>emptyMap(); } public String getId() { return id; } public List<String> getRequestIds() { return requestIds; } public Map<String, String> getMetadata() { return metadata; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } SingularityRequestGroup that = (SingularityRequestGroup) o; return Objects.equals(id, that.id) && Objects.equals(requestIds, that.requestIds) && Objects.equals(metadata, that.metadata); } @Override public int hashCode() { return Objects.hash(id, requestIds, metadata); } @Override public String toString() { return "SingularityRequestGroup{" + "id='" + id + '\'' + ", requestIds=" + requestIds + ", metadata=" + metadata + '}'; } }