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 */ 16 @ThreadSafe 17 public class Triplet<A, B, C> { 18 19 private final A a; 20 private final B b; 21 private final C c; 22 23 /** 24 * Create a triplet and store three objects. 25 * 26 * @param a the first object to store 27 * @param b the second object to store 28 * @param c the third object to store 29 */ 30 public Triplet(A a, B b, C c) { 31 this.a = a; 32 this.b = b; 33 this.c = c; 34 } 35 36 /** 37 * Returns the first stored object. 38 * 39 * @return first object stored 40 */ 41 public final A getA() { 42 return a; 43 } 44 45 /** 46 * Returns the second stored object. 47 * 48 * @return second object stored 49 */ 50 public final B getB() { 51 return b; 52 } 53 54 /** 55 * Returns the third stored object. 56 * 57 * @return third object stored 58 */ 59 public final C getC() { 60 return c; 61 } 62 }