View Javadoc

1   package de.jaret.util.misc;
2   
3   public class Pair<L, R> {
4   
5       private final L _left;
6       private final R _right;
7   
8       public R getRight() {
9           return _right;
10      }
11  
12      public L getLeft() {
13          return _left;
14      }
15  
16      public Pair(final L left, final R right) {
17          _left = left;
18          _right = right;
19      }
20  
21      public final boolean equals(Object o) {
22          if (!(o instanceof Pair))
23              return false;
24  
25          final Pair<?, ?> other = (Pair<?, ?>) o;
26          return equal(getLeft(), other.getLeft()) && equal(getRight(), other.getRight());
27      }
28  
29      public static final boolean equal(Object o1, Object o2) {
30          if (o1 == null) {
31              return o2 == null;
32          }
33          return o1.equals(o2);
34      }
35  
36      public int hashCode() {
37          int hLeft = getLeft() == null ? 0 : getLeft().hashCode();
38          int hRight = getRight() == null ? 0 : getRight().hashCode();
39  
40          return hLeft + (57 * hRight);
41      }
42  }