org.jooq.lambda.tuple.Tuple5 Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jool Show documentation
Show all versions of jool Show documentation
jOOλ is part of the jOOQ series (along with jOOQ, jOOX, jOOR, jOOU) providing some useful extensions to Java 8 lambdas.
/**
* Copyright (c) 2014, Data Geekery GmbH, [email protected]
*
* 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 org.jooq.lambda.tuple;
import java.io.Serializable;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import org.jooq.lambda.function.Function1;
import org.jooq.lambda.function.Function5;
/**
* A tuple of degree 5.
*
* @author Lukas Eder
*/
public class Tuple5 implements Tuple, Comparable>, Serializable, Cloneable {
public final T1 v1;
public final T2 v2;
public final T3 v3;
public final T4 v4;
public final T5 v5;
public T1 v1() {
return v1;
}
public T2 v2() {
return v2;
}
public T3 v3() {
return v3;
}
public T4 v4() {
return v4;
}
public T5 v5() {
return v5;
}
public Tuple5(Tuple5 tuple) {
this.v1 = tuple.v1;
this.v2 = tuple.v2;
this.v3 = tuple.v3;
this.v4 = tuple.v4;
this.v5 = tuple.v5;
}
public Tuple5(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5) {
this.v1 = v1;
this.v2 = v2;
this.v3 = v3;
this.v4 = v4;
this.v5 = v5;
}
/**
* Apply this tuple as arguments to a function.
*/
public final R map(Function5 function) {
return function.apply(this);
}
/**
* Apply attribute 1 as argument to a function and return a new tuple with the substituted argument.
*/
public final Tuple5 map1(Function1 function) {
return Tuple.tuple(function.apply(v1), v2, v3, v4, v5);
}
/**
* Apply attribute 2 as argument to a function and return a new tuple with the substituted argument.
*/
public final Tuple5 map2(Function1 function) {
return Tuple.tuple(v1, function.apply(v2), v3, v4, v5);
}
/**
* Apply attribute 3 as argument to a function and return a new tuple with the substituted argument.
*/
public final Tuple5 map3(Function1 function) {
return Tuple.tuple(v1, v2, function.apply(v3), v4, v5);
}
/**
* Apply attribute 4 as argument to a function and return a new tuple with the substituted argument.
*/
public final Tuple5 map4(Function1 function) {
return Tuple.tuple(v1, v2, v3, function.apply(v4), v5);
}
/**
* Apply attribute 5 as argument to a function and return a new tuple with the substituted argument.
*/
public final Tuple5 map5(Function1 function) {
return Tuple.tuple(v1, v2, v3, v4, function.apply(v5));
}
@Override
public final Object[] array() {
return new Object[] { v1, v2, v3, v4, v5 };
}
@Override
public final List> list() {
return Arrays.asList(array());
}
/**
* The degree of this tuple: 5.
*/
@Override
public final int degree() {
return 5;
}
@Override
@SuppressWarnings("unchecked")
public final Iterator
© 2015 - 2025 Weber Informatics LLC | Privacy Policy