package common; /** * Created by leo on 12/1/14. */ public class MultiKey<T1, T2> { private final T1 a; private final T2 b; public MultiKey(T1 a, T2 b){ this.a = a; this.b = b; } public static <T1, T2> MultiKey<T1, T2> newKey(T1 a, T2 b){ return new MultiKey<T1, T2>(a, b); } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; MultiKey multiKey = (MultiKey) o; if (!a.equals(multiKey.a)) return false; if (!b.equals(multiKey.b)) return false; return true; } @Override public int hashCode() { int result = a.hashCode(); result = 31 * result + b.hashCode(); return result; } }