
org.jooq.lambda.tuple.Tuple0 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-2016, 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.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import org.jooq.lambda.Seq;
import org.jooq.lambda.function.Function0;
/**
* A tuple of degree 0.
*
* @author Lukas Eder
*/
public class Tuple0 implements Tuple, Comparable, Serializable, Cloneable {
private static final long serialVersionUID = 1L;
public Tuple0(Tuple0 tuple) {
}
public Tuple0() {
}
/**
* Concatenate a value to this tuple.
*/
public final Tuple1 concat(T1 value) {
return new Tuple1<>(value);
}
/**
* Concatenate a tuple to this tuple.
*/
public final Tuple1 concat(Tuple1 tuple) {
return new Tuple1<>(tuple.v1);
}
/**
* Concatenate a tuple to this tuple.
*/
public final Tuple2 concat(Tuple2 tuple) {
return new Tuple2<>(tuple.v1, tuple.v2);
}
/**
* Concatenate a tuple to this tuple.
*/
public final Tuple3 concat(Tuple3 tuple) {
return new Tuple3<>(tuple.v1, tuple.v2, tuple.v3);
}
/**
* Concatenate a tuple to this tuple.
*/
public final Tuple4 concat(Tuple4 tuple) {
return new Tuple4<>(tuple.v1, tuple.v2, tuple.v3, tuple.v4);
}
/**
* Concatenate a tuple to this tuple.
*/
public final Tuple5 concat(Tuple5 tuple) {
return new Tuple5<>(tuple.v1, tuple.v2, tuple.v3, tuple.v4, tuple.v5);
}
/**
* Concatenate a tuple to this tuple.
*/
public final Tuple6 concat(Tuple6 tuple) {
return new Tuple6<>(tuple.v1, tuple.v2, tuple.v3, tuple.v4, tuple.v5, tuple.v6);
}
/**
* Concatenate a tuple to this tuple.
*/
public final Tuple7 concat(Tuple7 tuple) {
return new Tuple7<>(tuple.v1, tuple.v2, tuple.v3, tuple.v4, tuple.v5, tuple.v6, tuple.v7);
}
/**
* Concatenate a tuple to this tuple.
*/
public final Tuple8 concat(Tuple8 tuple) {
return new Tuple8<>(tuple.v1, tuple.v2, tuple.v3, tuple.v4, tuple.v5, tuple.v6, tuple.v7, tuple.v8);
}
/**
* Concatenate a tuple to this tuple.
*/
public final Tuple9 concat(Tuple9 tuple) {
return new Tuple9<>(tuple.v1, tuple.v2, tuple.v3, tuple.v4, tuple.v5, tuple.v6, tuple.v7, tuple.v8, tuple.v9);
}
/**
* Concatenate a tuple to this tuple.
*/
public final Tuple10 concat(Tuple10 tuple) {
return new Tuple10<>(tuple.v1, tuple.v2, tuple.v3, tuple.v4, tuple.v5, tuple.v6, tuple.v7, tuple.v8, tuple.v9, tuple.v10);
}
/**
* Concatenate a tuple to this tuple.
*/
public final Tuple11 concat(Tuple11 tuple) {
return new Tuple11<>(tuple.v1, tuple.v2, tuple.v3, tuple.v4, tuple.v5, tuple.v6, tuple.v7, tuple.v8, tuple.v9, tuple.v10, tuple.v11);
}
/**
* Concatenate a tuple to this tuple.
*/
public final Tuple12 concat(Tuple12 tuple) {
return new Tuple12<>(tuple.v1, tuple.v2, tuple.v3, tuple.v4, tuple.v5, tuple.v6, tuple.v7, tuple.v8, tuple.v9, tuple.v10, tuple.v11, tuple.v12);
}
/**
* Concatenate a tuple to this tuple.
*/
public final Tuple13 concat(Tuple13 tuple) {
return new Tuple13<>(tuple.v1, tuple.v2, tuple.v3, tuple.v4, tuple.v5, tuple.v6, tuple.v7, tuple.v8, tuple.v9, tuple.v10, tuple.v11, tuple.v12, tuple.v13);
}
/**
* Concatenate a tuple to this tuple.
*/
public final Tuple14 concat(Tuple14 tuple) {
return new Tuple14<>(tuple.v1, tuple.v2, tuple.v3, tuple.v4, tuple.v5, tuple.v6, tuple.v7, tuple.v8, tuple.v9, tuple.v10, tuple.v11, tuple.v12, tuple.v13, tuple.v14);
}
/**
* Concatenate a tuple to this tuple.
*/
public final Tuple15 concat(Tuple15 tuple) {
return new Tuple15<>(tuple.v1, tuple.v2, tuple.v3, tuple.v4, tuple.v5, tuple.v6, tuple.v7, tuple.v8, tuple.v9, tuple.v10, tuple.v11, tuple.v12, tuple.v13, tuple.v14, tuple.v15);
}
/**
* Concatenate a tuple to this tuple.
*/
public final Tuple16 concat(Tuple16 tuple) {
return new Tuple16<>(tuple.v1, tuple.v2, tuple.v3, tuple.v4, tuple.v5, tuple.v6, tuple.v7, tuple.v8, tuple.v9, tuple.v10, tuple.v11, tuple.v12, tuple.v13, tuple.v14, tuple.v15, tuple.v16);
}
/**
* Split this tuple into two tuples of degree 0 and 0.
*/
public final Tuple2 split0() {
return new Tuple2<>(limit0(), skip0());
}
/**
* Limit this tuple to degree 0.
*/
public final Tuple0 limit0() {
return this;
}
/**
* Skip 0 degrees from this tuple.
*/
public final Tuple0 skip0() {
return this;
}
/**
* Apply this tuple as arguments to a function.
*/
public final R map(Function0 extends R> function) {
return function.apply(this);
}
@Override
@Deprecated
public final Object[] array() {
return toArray();
}
@Override
public final Object[] toArray() {
return new Object[] { };
}
@Override
@Deprecated
public final List> list() {
return toList();
}
@Override
public final List> toList() {
return Arrays.asList(toArray());
}
@Override
public final Seq> toSeq() {
return Seq.seq(toList());
}
@Override
public final Map toMap() {
return toMap(i -> "v" + (i + 1));
}
@Override
public final Map toMap(Function super Integer, ? extends K> keyMapper) {
Map result = new LinkedHashMap<>();
Object[] array = toArray();
for (int i = 0; i < array.length; i++)
result.put(keyMapper.apply(i), array[i]);
return result;
}
/**
* The degree of this tuple: 0.
*/
@Override
public final int degree() {
return 0;
}
@Override
@SuppressWarnings("unchecked")
public final Iterator
© 2015 - 2025 Weber Informatics LLC | Privacy Policy