package hu.u_szeged.nlp.pos.rfst; import java.io.Serializable; @SuppressWarnings("serial") public class Pair<A, B> implements Serializable { protected A a; protected B b; // for deserialize extensions protected Pair() { } public Pair(A a, B b) { this.a = a; this.b = b; } public A getA() { return a; } public B getB() { return b; } boolean myEq(Object o1, Object o2) { if (o1 == null) { return o2 == null; } return o1.equals(o2); } @SuppressWarnings("unchecked") public boolean equals(Object obj) { if (!(obj instanceof Pair)) { return false; } Pair p = (Pair) obj; return myEq(a, p.a) && myEq(b, p.b); } int myHash(Object o) { if (o == null) { return 0; } return o.hashCode(); } public int hashCode() { return 31 * myHash(a) + myHash(b); } public String toString() { return "(" + a + "; " + b + ")"; } }