@Override public int hashCode() { int result = keys.hashCode(); result = 31 * result + measures.hashCode(); result = 31 * result + predicate.hashCode(); return result; }
@Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; AggregationQuery query = (AggregationQuery) o; if (!keys.equals(query.keys)) return false; if (!measures.equals(query.measures)) return false; if (!predicate.equals(query.predicate)) return false; return true; }
public Set<String> getAllKeys() { LinkedHashSet<String> result = new LinkedHashSet<>(); result.addAll(keys); result.addAll(predicate.getDimensions()); return result; }