package org.vertexium.accumulo; import org.vertexium.Visibility; import org.vertexium.mutation.ExtendedDataMutation; import java.util.HashSet; import java.util.Set; class TableNameVisibilityPair { private final Visibility visibility; private final String tableName; private TableNameVisibilityPair(Visibility visibility, String tableName) { this.visibility = visibility; this.tableName = tableName; } public Visibility getVisibility() { return visibility; } public String getTableName() { return tableName; } public static Set<TableNameVisibilityPair> getUniquePairs(Iterable<ExtendedDataMutation> extendedDatas) { Set<TableNameVisibilityPair> results = new HashSet<>(); for (ExtendedDataMutation extendedData : extendedDatas) { results.add(new TableNameVisibilityPair(extendedData.getVisibility(), extendedData.getTableName())); } return results; } @Override public String toString() { return "TableNameVisibilityPair{" + "visibility=" + visibility + ", tableName='" + tableName + '\'' + '}'; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } TableNameVisibilityPair that = (TableNameVisibilityPair) o; if (!visibility.equals(that.visibility)) { return false; } return tableName.equals(that.tableName); } @Override public int hashCode() { int result = visibility.hashCode(); result = 31 * result + tableName.hashCode(); return result; } }