/* * Copyright LGPL3 * YES Technology Association * http://yestech.org * * http://www.opensource.org/licenses/lgpl-3.0.html */ /* * * Author: Artie Copeland * Last Modified Date: $DateTime: $ */ package org.yestech.lib.util; /** * Represents a tuple of 3 * * @author Artie Copeland * @version $Revision: $ */ public class Triple<T1, T2, T3> implements ITuple { private T1 first; private T2 second; private T3 third; private static final long serialVersionUID = -3852173215308533511L; public Triple() { } public Triple(T1 first, T2 second, T3 third) { this.first = first; this.second = second; this.third = third; } public T1 getFirst() { return first; } public void setFirst(T1 first) { this.first = first; } public T2 getSecond() { return second; } public void setSecond(T2 second) { this.second = second; } public T3 getThird() { return third; } public void setThird(T3 third) { this.third = third; } @Override public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof Triple)) return false; Triple triple = (Triple) o; if (first != null ? !first.equals(triple.first) : triple.first != null) return false; if (second != null ? !second.equals(triple.second) : triple.second != null) return false; if (third != null ? !third.equals(triple.third) : triple.third != null) return false; return true; } @Override public int hashCode() { int result = first != null ? first.hashCode() : 0; result = 31 * result + (second != null ? second.hashCode() : 0); result = 31 * result + (third != null ? third.hashCode() : 0); return result; } @Override public String toString() { return "Triple{" + "first=" + first + ", second=" + second + ", third=" + third + '}'; } }