/* * Copyright (C) 2011 Citrix Systems, Inc. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.cloud.bridge.util; /** * @author Kelven Yang, John Zucker * Reusable class whose instances encode any triple (or 3-tuple) of values of types T1, T2 and T3 * Provide getters: getFirst(), getSecond(), getThird() * Provide setters: setFirst(val), setSecond(val), setThird(val) * @param <T1> * @param <T2> * @param <T3> */ public class Triple <T1, T2, T3> { T1 first; T2 second; T3 third; public Triple(T1 t1, T2 t2, T3 t3) { first = t1; second = t2; third = t3; } public T1 getFirst() { return first; } public Triple<T1, T2, T3> setFirst(T1 t1) { first = t1; return this; } public T2 getSecond() { return second; } public Triple<T1, T2, T3> setSecond(T2 t2) { second = t2; return this; } public T3 getThird() { return third; } public Triple<T1, T2, T3> setThird(T3 t3) { third = t3; return this; } }