1 /*
2 * Copyright 2020-2022 The OSHI Project Contributors
3 * SPDX-License-Identifier: MIT
4 */
5 package oshi.util.tuples;
6
7 import oshi.annotation.concurrent.ThreadSafe;
8
9 /**
10 * Convenience class for returning multiple objects from methods.
11 *
12 * @param <A> Type of the first element
13 * @param <B> Type of the second element
14 * @param <C> Type of the third element
15 * @param <D> Type of the fourth element
16 * @param <E> Type of the fifth element
17 */
18 @ThreadSafe
19 public class Quintet<A, B, C, D, E> {
20
21 private final A a;
22 private final B b;
23 private final C c;
24 private final D d;
25 private final E e;
26
27 /**
28 * Create a quintet and store five objects.
29 *
30 * @param a the first object to store
31 * @param b the second object to store
32 * @param c the third object to store
33 * @param d the fourth object to store
34 * @param e the fifth object to store
35 */
36 public Quintet(A a, B b, C c, D d, E e) {
37 this.a = a;
38 this.b = b;
39 this.c = c;
40 this.d = d;
41 this.e = e;
42 }
43
44 /**
45 * Returns the first stored object.
46 *
47 * @return first object stored
48 */
49 public final A getA() {
50 return a;
51 }
52
53 /**
54 * Returns the second stored object.
55 *
56 * @return second object stored
57 */
58 public final B getB() {
59 return b;
60 }
61
62 /**
63 * Returns the third stored object.
64 *
65 * @return third object stored
66 */
67 public final C getC() {
68 return c;
69 }
70
71 /**
72 * Returns the fourth stored object.
73 *
74 * @return fourth object stored
75 */
76 public final D getD() {
77 return d;
78 }
79
80 /**
81 * Returns the fifth stored object.
82 *
83 * @return fifth object stored
84 */
85 public final E getE() {
86 return e;
87 }
88 }