org.jooq.lambda.function.Function9 Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jool-java-8 Show documentation
Show all versions of jool-java-8 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) 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.function;
import org.jooq.lambda.tuple.Tuple1;
import org.jooq.lambda.tuple.Tuple2;
import org.jooq.lambda.tuple.Tuple3;
import org.jooq.lambda.tuple.Tuple4;
import org.jooq.lambda.tuple.Tuple5;
import org.jooq.lambda.tuple.Tuple6;
import org.jooq.lambda.tuple.Tuple7;
import org.jooq.lambda.tuple.Tuple8;
import org.jooq.lambda.tuple.Tuple9;
/**
* A function with 9 arguments.
*
* @author Lukas Eder
*/
@FunctionalInterface
public interface Function9 {
/**
* Apply this function to the arguments.
*
* @param args The arguments as a tuple.
*/
default R apply(Tuple9 extends T1, ? extends T2, ? extends T3, ? extends T4, ? extends T5, ? extends T6, ? extends T7, ? extends T8, ? extends T9> args) {
return apply(args.v1, args.v2, args.v3, args.v4, args.v5, args.v6, args.v7, args.v8, args.v9);
}
/**
* Apply this function to the arguments.
*/
R apply(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9);
/**
* Partially apply this function to the arguments.
*/
default Function8 applyPartially(T1 v1) {
return (v2, v3, v4, v5, v6, v7, v8, v9) -> apply(v1, v2, v3, v4, v5, v6, v7, v8, v9);
}
/**
* Partially apply this function to the arguments.
*/
default Function7 applyPartially(T1 v1, T2 v2) {
return (v3, v4, v5, v6, v7, v8, v9) -> apply(v1, v2, v3, v4, v5, v6, v7, v8, v9);
}
/**
* Partially apply this function to the arguments.
*/
default Function6 applyPartially(T1 v1, T2 v2, T3 v3) {
return (v4, v5, v6, v7, v8, v9) -> apply(v1, v2, v3, v4, v5, v6, v7, v8, v9);
}
/**
* Partially apply this function to the arguments.
*/
default Function5 applyPartially(T1 v1, T2 v2, T3 v3, T4 v4) {
return (v5, v6, v7, v8, v9) -> apply(v1, v2, v3, v4, v5, v6, v7, v8, v9);
}
/**
* Partially apply this function to the arguments.
*/
default Function4 applyPartially(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5) {
return (v6, v7, v8, v9) -> apply(v1, v2, v3, v4, v5, v6, v7, v8, v9);
}
/**
* Partially apply this function to the arguments.
*/
default Function3 applyPartially(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6) {
return (v7, v8, v9) -> apply(v1, v2, v3, v4, v5, v6, v7, v8, v9);
}
/**
* Partially apply this function to the arguments.
*/
default Function2 applyPartially(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7) {
return (v8, v9) -> apply(v1, v2, v3, v4, v5, v6, v7, v8, v9);
}
/**
* Partially apply this function to the arguments.
*/
default Function1 applyPartially(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8) {
return (v9) -> apply(v1, v2, v3, v4, v5, v6, v7, v8, v9);
}
/**
* Partially apply this function to the arguments.
*/
default Function0 applyPartially(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9) {
return () -> apply(v1, v2, v3, v4, v5, v6, v7, v8, v9);
}
/**
* Partially apply this function to the arguments.
*/
default Function8 applyPartially(Tuple1 extends T1> args) {
return (v2, v3, v4, v5, v6, v7, v8, v9) -> apply(args.v1, v2, v3, v4, v5, v6, v7, v8, v9);
}
/**
* Partially apply this function to the arguments.
*/
default Function7 applyPartially(Tuple2 extends T1, ? extends T2> args) {
return (v3, v4, v5, v6, v7, v8, v9) -> apply(args.v1, args.v2, v3, v4, v5, v6, v7, v8, v9);
}
/**
* Partially apply this function to the arguments.
*/
default Function6 applyPartially(Tuple3 extends T1, ? extends T2, ? extends T3> args) {
return (v4, v5, v6, v7, v8, v9) -> apply(args.v1, args.v2, args.v3, v4, v5, v6, v7, v8, v9);
}
/**
* Partially apply this function to the arguments.
*/
default Function5 applyPartially(Tuple4 extends T1, ? extends T2, ? extends T3, ? extends T4> args) {
return (v5, v6, v7, v8, v9) -> apply(args.v1, args.v2, args.v3, args.v4, v5, v6, v7, v8, v9);
}
/**
* Partially apply this function to the arguments.
*/
default Function4 applyPartially(Tuple5 extends T1, ? extends T2, ? extends T3, ? extends T4, ? extends T5> args) {
return (v6, v7, v8, v9) -> apply(args.v1, args.v2, args.v3, args.v4, args.v5, v6, v7, v8, v9);
}
/**
* Partially apply this function to the arguments.
*/
default Function3 applyPartially(Tuple6 extends T1, ? extends T2, ? extends T3, ? extends T4, ? extends T5, ? extends T6> args) {
return (v7, v8, v9) -> apply(args.v1, args.v2, args.v3, args.v4, args.v5, args.v6, v7, v8, v9);
}
/**
* Partially apply this function to the arguments.
*/
default Function2 applyPartially(Tuple7 extends T1, ? extends T2, ? extends T3, ? extends T4, ? extends T5, ? extends T6, ? extends T7> args) {
return (v8, v9) -> apply(args.v1, args.v2, args.v3, args.v4, args.v5, args.v6, args.v7, v8, v9);
}
/**
* Partially apply this function to the arguments.
*/
default Function1 applyPartially(Tuple8 extends T1, ? extends T2, ? extends T3, ? extends T4, ? extends T5, ? extends T6, ? extends T7, ? extends T8> args) {
return (v9) -> apply(args.v1, args.v2, args.v3, args.v4, args.v5, args.v6, args.v7, args.v8, v9);
}
/**
* Partially apply this function to the arguments.
*/
default Function0 applyPartially(Tuple9 extends T1, ? extends T2, ? extends T3, ? extends T4, ? extends T5, ? extends T6, ? extends T7, ? extends T8, ? extends T9> args) {
return () -> apply(args.v1, args.v2, args.v3, args.v4, args.v5, args.v6, args.v7, args.v8, args.v9);
}
/**
* Partially apply this function to the arguments.
*
* @deprecated - Use {@link #applyPartially(Object)} instead.
*/
@Deprecated
default Function8 curry(T1 v1) {
return (v2, v3, v4, v5, v6, v7, v8, v9) -> apply(v1, v2, v3, v4, v5, v6, v7, v8, v9);
}
/**
* Partially apply this function to the arguments.
*
* @deprecated - Use {@link #applyPartially(Object, Object)} instead.
*/
@Deprecated
default Function7 curry(T1 v1, T2 v2) {
return (v3, v4, v5, v6, v7, v8, v9) -> apply(v1, v2, v3, v4, v5, v6, v7, v8, v9);
}
/**
* Partially apply this function to the arguments.
*
* @deprecated - Use {@link #applyPartially(Object, Object, Object)} instead.
*/
@Deprecated
default Function6 curry(T1 v1, T2 v2, T3 v3) {
return (v4, v5, v6, v7, v8, v9) -> apply(v1, v2, v3, v4, v5, v6, v7, v8, v9);
}
/**
* Partially apply this function to the arguments.
*
* @deprecated - Use {@link #applyPartially(Object, Object, Object, Object)} instead.
*/
@Deprecated
default Function5 curry(T1 v1, T2 v2, T3 v3, T4 v4) {
return (v5, v6, v7, v8, v9) -> apply(v1, v2, v3, v4, v5, v6, v7, v8, v9);
}
/**
* Partially apply this function to the arguments.
*
* @deprecated - Use {@link #applyPartially(Object, Object, Object, Object, Object)} instead.
*/
@Deprecated
default Function4 curry(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5) {
return (v6, v7, v8, v9) -> apply(v1, v2, v3, v4, v5, v6, v7, v8, v9);
}
/**
* Partially apply this function to the arguments.
*
* @deprecated - Use {@link #applyPartially(Object, Object, Object, Object, Object, Object)} instead.
*/
@Deprecated
default Function3 curry(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6) {
return (v7, v8, v9) -> apply(v1, v2, v3, v4, v5, v6, v7, v8, v9);
}
/**
* Partially apply this function to the arguments.
*
* @deprecated - Use {@link #applyPartially(Object, Object, Object, Object, Object, Object, Object)} instead.
*/
@Deprecated
default Function2 curry(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7) {
return (v8, v9) -> apply(v1, v2, v3, v4, v5, v6, v7, v8, v9);
}
/**
* Partially apply this function to the arguments.
*
* @deprecated - Use {@link #applyPartially(Object, Object, Object, Object, Object, Object, Object, Object)} instead.
*/
@Deprecated
default Function1 curry(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8) {
return (v9) -> apply(v1, v2, v3, v4, v5, v6, v7, v8, v9);
}
/**
* Partially apply this function to the arguments.
*
* @deprecated - Use {@link #applyPartially(Object, Object, Object, Object, Object, Object, Object, Object, Object)} instead.
*/
@Deprecated
default Function0 curry(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9) {
return () -> apply(v1, v2, v3, v4, v5, v6, v7, v8, v9);
}
/**
* Partially apply this function to the arguments.
*
* @deprecated - Use {@link #applyPartially(Tuple1)} instead.
*/
@Deprecated
default Function8 curry(Tuple1 extends T1> args) {
return (v2, v3, v4, v5, v6, v7, v8, v9) -> apply(args.v1, v2, v3, v4, v5, v6, v7, v8, v9);
}
/**
* Partially apply this function to the arguments.
*
* @deprecated - Use {@link #applyPartially(Tuple2)} instead.
*/
@Deprecated
default Function7 curry(Tuple2 extends T1, ? extends T2> args) {
return (v3, v4, v5, v6, v7, v8, v9) -> apply(args.v1, args.v2, v3, v4, v5, v6, v7, v8, v9);
}
/**
* Partially apply this function to the arguments.
*
* @deprecated - Use {@link #applyPartially(Tuple3)} instead.
*/
@Deprecated
default Function6 curry(Tuple3 extends T1, ? extends T2, ? extends T3> args) {
return (v4, v5, v6, v7, v8, v9) -> apply(args.v1, args.v2, args.v3, v4, v5, v6, v7, v8, v9);
}
/**
* Partially apply this function to the arguments.
*
* @deprecated - Use {@link #applyPartially(Tuple4)} instead.
*/
@Deprecated
default Function5 curry(Tuple4 extends T1, ? extends T2, ? extends T3, ? extends T4> args) {
return (v5, v6, v7, v8, v9) -> apply(args.v1, args.v2, args.v3, args.v4, v5, v6, v7, v8, v9);
}
/**
* Partially apply this function to the arguments.
*
* @deprecated - Use {@link #applyPartially(Tuple5)} instead.
*/
@Deprecated
default Function4 curry(Tuple5 extends T1, ? extends T2, ? extends T3, ? extends T4, ? extends T5> args) {
return (v6, v7, v8, v9) -> apply(args.v1, args.v2, args.v3, args.v4, args.v5, v6, v7, v8, v9);
}
/**
* Partially apply this function to the arguments.
*
* @deprecated - Use {@link #applyPartially(Tuple6)} instead.
*/
@Deprecated
default Function3 curry(Tuple6 extends T1, ? extends T2, ? extends T3, ? extends T4, ? extends T5, ? extends T6> args) {
return (v7, v8, v9) -> apply(args.v1, args.v2, args.v3, args.v4, args.v5, args.v6, v7, v8, v9);
}
/**
* Partially apply this function to the arguments.
*
* @deprecated - Use {@link #applyPartially(Tuple7)} instead.
*/
@Deprecated
default Function2 curry(Tuple7 extends T1, ? extends T2, ? extends T3, ? extends T4, ? extends T5, ? extends T6, ? extends T7> args) {
return (v8, v9) -> apply(args.v1, args.v2, args.v3, args.v4, args.v5, args.v6, args.v7, v8, v9);
}
/**
* Partially apply this function to the arguments.
*
* @deprecated - Use {@link #applyPartially(Tuple8)} instead.
*/
@Deprecated
default Function1 curry(Tuple8 extends T1, ? extends T2, ? extends T3, ? extends T4, ? extends T5, ? extends T6, ? extends T7, ? extends T8> args) {
return (v9) -> apply(args.v1, args.v2, args.v3, args.v4, args.v5, args.v6, args.v7, args.v8, v9);
}
/**
* Partially apply this function to the arguments.
*
* @deprecated - Use {@link #applyPartially(Tuple9)} instead.
*/
@Deprecated
default Function0 curry(Tuple9 extends T1, ? extends T2, ? extends T3, ? extends T4, ? extends T5, ? extends T6, ? extends T7, ? extends T8, ? extends T9> args) {
return () -> apply(args.v1, args.v2, args.v3, args.v4, args.v5, args.v6, args.v7, args.v8, args.v9);
}
}