package com.plexobject.rbac.domain; import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.ToStringBuilder; public class Pair<FIRST, SECOND> implements java.io.Serializable { private static final long serialVersionUID = 1L; public FIRST first; public SECOND second; public Pair(FIRST first, SECOND second) { this.first = first; this.second = second; } public FIRST getFirst() { return first; } public void setFirst(FIRST first) { this.first = first; } public SECOND getSecond() { return second; } public void setSecond(SECOND second) { this.second = second; } /** * @see java.lang.Object#equals(Object) */ @SuppressWarnings("unchecked") @Override public boolean equals(Object object) { if (!(object instanceof Pair)) { return false; } Pair<FIRST, SECOND> rhs = (Pair<FIRST, SECOND>) object; EqualsBuilder eqBuilder = new EqualsBuilder(); eqBuilder.append(first, rhs.first); eqBuilder.append(second, rhs.second); return eqBuilder.isEquals(); } /** * @see java.lang.Object#hashCode() */ @Override public int hashCode() { return new HashCodeBuilder(786529047, 1924536713).append(first).append( second).toHashCode(); } /** * @see java.lang.Object#toString() */ @Override public String toString() { return new ToStringBuilder(this).append(first).append(second) .toString(); } }