package com.hubspot.singularity; import java.util.Collections; import java.util.Objects; import java.util.Set; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; public class SingularityUserSettings { private final Set<String> starredRequestIds; @JsonCreator public SingularityUserSettings( @JsonProperty("starredRequestIds") Set<String> starredRequestIds) { this.starredRequestIds = starredRequestIds != null ? starredRequestIds : Collections.<String>emptySet(); } public static SingularityUserSettings empty() { return new SingularityUserSettings(Collections.<String>emptySet()); } public Set<String> getStarredRequestIds() { return starredRequestIds; } public SingularityUserSettings addStarredRequestIds(Set<String> newStarredRequestIds) { starredRequestIds.addAll(newStarredRequestIds); return this; } public SingularityUserSettings deleteStarredRequestIds(Set<String> oldStarredRequestIds) { starredRequestIds.removeAll(oldStarredRequestIds); return this; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } SingularityUserSettings that = (SingularityUserSettings) o; return Objects.equals(starredRequestIds, that.starredRequestIds); } @Override public int hashCode() { return Objects.hash(starredRequestIds); } @Override public String toString() { return "SingularityUserSettings{" + "starredRequestIds=" + starredRequestIds + '}'; } }