package mightypork.utils.objects; import mightypork.utils.math.Calc; /** * Structure of 3 objects. * * @author MightyPork * @copy (c) 2012 * @param 1st object class * @param 2nd object class * @param 3rd object class */ public class Triad extends Pair { /** * 3rd object */ public T3 third; /** * Make structure of 3 objects * * @param objA 1st object * @param objB 2nd object * @param objC 3rd object */ public Triad(T1 objA, T2 objB, T3 objC) { super(objA, objB); third = objC; } /** * @return 3rd object */ public T3 getThird() { return third; } /** * Set 1st object * * @param obj 1st object */ public void setThird(T3 obj) { third = obj; } @Override public boolean equals(Object obj) { if (!super.equals(obj)) return false; return Calc.areObjectsEqual(third, ((Triad) obj).third); } @Override public int hashCode() { return super.hashCode() + (third == null ? 0 : third.hashCode()); } @Override public String toString() { return "TRIAD{" + first + "," + second + "," + third + "}"; } }