package mightypork.gamecore.util.objects; import mightypork.gamecore.util.math.Calc; /** * Structure of 2 objects. * * @author MightyPork * @copy (c) 2012 * @param 1st object class * @param 2nd object class */ public class Pair { /** * 1st object */ public T1 first; /** * 2nd object */ public T2 second; /** * Make structure of 2 objects * * @param first 1st object * @param second 2nd object */ public Pair(T1 first, T2 second) { this.first = first; this.second = second; } /** * @return 1st object */ public T1 getFirst() { return first; } /** * @return 2nd object */ public T2 getSecond() { return second; } @Override public boolean equals(Object obj) { if (obj == null) { return false; } if (!this.getClass().equals(obj.getClass())) { return false; } final Pair t = (Pair) obj; return Calc.areEqual(first, t.first) && Calc.areEqual(second, t.second); } @Override public int hashCode() { int hash = 71; hash += (first == null ? 0 : first.hashCode()); hash += (second == null ? 0 : second.hashCode()); return hash; } @Override public String toString() { return "PAIR{" + first + "," + second + "}"; } }