1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 package org.opencastproject.util.data;
24
25 import static org.opencastproject.util.EqualsUtil.eqClasses;
26 import static org.opencastproject.util.EqualsUtil.hash;
27
28
29 public final class Tuple3<A, B, C> {
30
31 private final A a;
32 private final B b;
33 private final C c;
34
35 public Tuple3(A a, B b, C c) {
36 this.a = a;
37 this.b = b;
38 this.c = c;
39 }
40
41 public A getA() {
42 return a;
43 }
44
45 public B getB() {
46 return b;
47 }
48
49 public C getC() {
50 return c;
51 }
52
53 @Override
54 public boolean equals(Object that) {
55 if (this == that) return true;
56 if (!eqClasses(this, that)) return false;
57 Tuple3 thatc = (Tuple3) that;
58 return a.equals(thatc.a) && b.equals(thatc.b) && c.equals(thatc.c);
59 }
60
61 @Override
62 public int hashCode() {
63 return hash(a, b, c);
64 }
65
66 public static <A, B, C> Tuple3<A, B, C> tuple3(A a, B b, C c) {
67 return new Tuple3<A, B, C>(a, b, c);
68 }
69
70 @Override public String toString() {
71 return "(" + a + "," + b + "," + c + ")";
72 }
73 }