package eu.europeana.cloud.common.model; import java.util.Objects; /** * Globally unique data set id. Data set id is unique only for a certain provider id, so the combination of those two * identifiers is globally unique. */ public class CompoundDataSetId { /** * Data set id (unique for provider). */ private final String dataSetId; /** * Data set's owner (provider) id. */ private final String dataSetProviderId; /** * Constructs CompoundDataSetId using given provider id and data set id. * * @param dataSetProviderId * provider id * @param dataSetId * data set id */ public CompoundDataSetId(String dataSetProviderId, String dataSetId) { this.dataSetId = dataSetId; this.dataSetProviderId = dataSetProviderId; } public String getDataSetId() { return dataSetId; } public String getDataSetProviderId() { return dataSetProviderId; } @Override public int hashCode() { int hash = 7; hash = 89 * hash + Objects.hashCode(this.dataSetId); hash = 89 * hash + Objects.hashCode(this.dataSetProviderId); return hash; } @Override public boolean equals(Object obj) { if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } final CompoundDataSetId other = (CompoundDataSetId) obj; if (!Objects.equals(this.dataSetId, other.dataSetId)) { return false; } if (!Objects.equals(this.dataSetProviderId, other.dataSetProviderId)) { return false; } return true; } @Override public String toString() { return "CompoundDataSetId{" + "dataSetId=" + dataSetId + ", dataSetProviderId=" + dataSetProviderId + '}'; } }