/* * Copyright 2013 Guidewire Software, Inc. */ package gw.util; public class Pair <F, S> { F _first; S _second; public Pair(F first, S second) { _first = first; _second = second; } public F getFirst() { return _first; } public S getSecond() { return _second; } public static <T, V> Pair<T, V> make(T f, V s) { return new Pair<T,V>(f, s); } public boolean equals( Object o ) { if( this == o ) { return true; } if( !(o instanceof Pair) ) { return false; } Pair pair = (Pair)o; if( _first != null ? !_first.equals( pair._first ) : pair._first != null ) { return false; } if( _second != null ? !_second.equals( pair._second ) : pair._second != null ) { return false; } return true; } public int hashCode() { int result; result = (_first != null ? _first.hashCode() : 0); result = 31 * result + (_second != null ? _second.hashCode() : 0); return result; } @Override public String toString() { return "(" + _first + ", " + _second + ")"; } }