Package io.vavr
Interface Function6<T1,T2,T3,T4,T5,T6,R>
-
- Type Parameters:
T1- argument 1 of the functionT2- argument 2 of the functionT3- argument 3 of the functionT4- argument 4 of the functionT5- argument 5 of the functionT6- argument 6 of the functionR- return type of the function
- All Superinterfaces:
java.io.Serializable
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
@FunctionalInterface public interface Function6<T1,T2,T3,T4,T5,T6,R> extends java.io.SerializableRepresents a function with 6 arguments.
-
-
Field Summary
Fields Modifier and Type Field Description static longserialVersionUIDThe serial version UID for serialization.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default <V> Function6<T1,T2,T3,T4,T5,T6,V>andThen(@NonNull java.util.function.Function<? super R,? extends V> after)Returns a composed function that first applies this Function6 to the given argument and then applies Functionafterto the result.default Function5<T2,T3,T4,T5,T6,R>apply(T1 t1)Applies this function partially to one argument.default Function4<T3,T4,T5,T6,R>apply(T1 t1, T2 t2)Applies this function partially to two arguments.default Function3<T4,T5,T6,R>apply(T1 t1, T2 t2, T3 t3)Applies this function partially to three arguments.default Function2<T5,T6,R>apply(T1 t1, T2 t2, T3 t3, T4 t4)Applies this function partially to 4 arguments.default Function1<T6,R>apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5)Applies this function partially to 5 arguments.Rapply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6)Applies this function to 6 arguments and returns the result.default intarity()Returns the number of function arguments.default <S> Function6<S,T2,T3,T4,T5,T6,R>compose1(@NonNull Function1<? super S,? extends T1> before)Returns a composed function that first applies the Functionbeforeto the 1st argument and then applies this Function6 to the result and the other arguments.default <S> Function6<T1,S,T3,T4,T5,T6,R>compose2(@NonNull Function1<? super S,? extends T2> before)Returns a composed function that first applies the Functionbeforeto the 2nd argument and then applies this Function6 to the result and the other arguments.default <S> Function6<T1,T2,S,T4,T5,T6,R>compose3(@NonNull Function1<? super S,? extends T3> before)Returns a composed function that first applies the Functionbeforeto the 3rd argument and then applies this Function6 to the result and the other arguments.default <S> Function6<T1,T2,T3,S,T5,T6,R>compose4(@NonNull Function1<? super S,? extends T4> before)Returns a composed function that first applies the Functionbeforeto the 4th argument and then applies this Function6 to the result and the other arguments.default <S> Function6<T1,T2,T3,T4,S,T6,R>compose5(@NonNull Function1<? super S,? extends T5> before)Returns a composed function that first applies the Functionbeforeto the 5th argument and then applies this Function6 to the result and the other arguments.default <S> Function6<T1,T2,T3,T4,T5,S,R>compose6(@NonNull Function1<? super S,? extends T6> before)Returns a composed function that first applies the Functionbeforeto the 6th argument and then applies this Function6 to the result and the other arguments.static <T1,T2,T3,T4,T5,T6,R>
Function6<T1,T2,T3,T4,T5,T6,R>constant(R value)Returns a function that always returns the constant value that you give in parameter.default Function1<T1,Function1<T2,Function1<T3,Function1<T4,Function1<T5,Function1<T6,R>>>>>>curried()Returns a curried version of this function.default booleanisMemoized()Checks if this function is memoizing (= caching) computed values.static <T1,T2,T3,T4,T5,T6,R>
Function6<T1,T2,T3,T4,T5,T6,Option<R>>lift(@NonNull Function6<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? extends R> partialFunction)Lifts the givenpartialFunctioninto a total function that returns anOptionresult.static <T1,T2,T3,T4,T5,T6,R>
Function6<T1,T2,T3,T4,T5,T6,Try<R>>liftTry(@NonNull Function6<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? extends R> partialFunction)Lifts the givenpartialFunctioninto a total function that returns anTryresult.default Function6<T1,T2,T3,T4,T5,T6,R>memoized()Returns a memoizing version of this function, which computes the return value for given arguments only one time.static <T1,T2,T3,T4,T5,T6,R>
Function6<T1,T2,T3,T4,T5,T6,R>narrow(Function6<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? extends R> f)Narrows the givenFunction6<? super T1, ? super T2, ? super T3, ? super T4, ? super T5, ? super T6, ? extends R>toFunction6<T1, T2, T3, T4, T5, T6, R>static <T1,T2,T3,T4,T5,T6,R>
Function6<T1,T2,T3,T4,T5,T6,R>of(@NonNull Function6<T1,T2,T3,T4,T5,T6,R> methodReference)default Function6<T6,T5,T4,T3,T2,T1,R>reversed()Returns a reversed version of this function.default Function1<Tuple6<T1,T2,T3,T4,T5,T6>,R>tupled()Returns a tupled version of this function.
-
-
-
Field Detail
-
serialVersionUID
static final long serialVersionUID
The serial version UID for serialization.- See Also:
- Constant Field Values
-
-
Method Detail
-
constant
static <T1,T2,T3,T4,T5,T6,R> Function6<T1,T2,T3,T4,T5,T6,R> constant(R value)
Returns a function that always returns the constant value that you give in parameter.- Type Parameters:
T1- generic parameter type 1 of the resulting functionT2- generic parameter type 2 of the resulting functionT3- generic parameter type 3 of the resulting functionT4- generic parameter type 4 of the resulting functionT5- generic parameter type 5 of the resulting functionT6- generic parameter type 6 of the resulting functionR- the result type- Parameters:
value- the value to be returned- Returns:
- a function always returning the given value
-
of
static <T1,T2,T3,T4,T5,T6,R> Function6<T1,T2,T3,T4,T5,T6,R> of(@NonNull Function6<T1,T2,T3,T4,T5,T6,R> methodReference)
Creates aFunction6based on Examples (w.l.o.g. referring to Function1):// using a lambda expression Function1<Integer, Integer> add1 = Function1.of(i -> i + 1); // using a method reference (, e.g. Integer method(Integer i) { return i + 1; }) Function1<Integer, Integer> add2 = Function1.of(this::method); // using a lambda reference Function1<Integer, Integer> add3 = Function1.of(add1::apply);Caution: Reflection loses type information of lambda references.
// type of a lambda expression Type<?, ?> type1 = add1.getType(); // (Integer) -> Integer // type of a method reference Type<?, ?> type2 = add2.getType(); // (Integer) -> Integer // type of a lambda reference Type<?, ?> type3 = add3.getType(); // (Object) -> Object- Type Parameters:
R- return typeT1- 1st argumentT2- 2nd argumentT3- 3rd argumentT4- 4th argumentT5- 5th argumentT6- 6th argument- Parameters:
methodReference- (typically) a method reference, e.g.Type::method- Returns:
- a
Function6
-
lift
static <T1,T2,T3,T4,T5,T6,R> Function6<T1,T2,T3,T4,T5,T6,Option<R>> lift(@NonNull Function6<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? extends R> partialFunction)
Lifts the givenpartialFunctioninto a total function that returns anOptionresult.- Type Parameters:
R- return typeT1- 1st argumentT2- 2nd argumentT3- 3rd argumentT4- 4th argumentT5- 5th argumentT6- 6th argument- Parameters:
partialFunction- a function that is not defined for all values of the domain (e.g. by throwing)- Returns:
- a function that applies arguments to the given
partialFunctionand returnsSome(result)if the function is defined for the given arguments, andNoneotherwise.
-
liftTry
static <T1,T2,T3,T4,T5,T6,R> Function6<T1,T2,T3,T4,T5,T6,Try<R>> liftTry(@NonNull Function6<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? extends R> partialFunction)
Lifts the givenpartialFunctioninto a total function that returns anTryresult.- Type Parameters:
R- return typeT1- 1st argumentT2- 2nd argumentT3- 3rd argumentT4- 4th argumentT5- 5th argumentT6- 6th argument- Parameters:
partialFunction- a function that is not defined for all values of the domain (e.g. by throwing)- Returns:
- a function that applies arguments to the given
partialFunctionand returnsSuccess(result)if the function is defined for the given arguments, andFailure(throwable)otherwise.
-
narrow
static <T1,T2,T3,T4,T5,T6,R> Function6<T1,T2,T3,T4,T5,T6,R> narrow(Function6<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? extends R> f)
Narrows the givenFunction6<? super T1, ? super T2, ? super T3, ? super T4, ? super T5, ? super T6, ? extends R>toFunction6<T1, T2, T3, T4, T5, T6, R>- Type Parameters:
R- return typeT1- 1st argumentT2- 2nd argumentT3- 3rd argumentT4- 4th argumentT5- 5th argumentT6- 6th argument- Parameters:
f- AFunction6- Returns:
- the given
finstance as narrowed typeFunction6<T1, T2, T3, T4, T5, T6, R>
-
apply
R apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6)
Applies this function to 6 arguments and returns the result.- Parameters:
t1- argument 1t2- argument 2t3- argument 3t4- argument 4t5- argument 5t6- argument 6- Returns:
- the result of function application
-
apply
default Function5<T2,T3,T4,T5,T6,R> apply(T1 t1)
Applies this function partially to one argument.- Parameters:
t1- argument 1- Returns:
- a partial application of this function
-
apply
default Function4<T3,T4,T5,T6,R> apply(T1 t1, T2 t2)
Applies this function partially to two arguments.- Parameters:
t1- argument 1t2- argument 2- Returns:
- a partial application of this function
-
apply
default Function3<T4,T5,T6,R> apply(T1 t1, T2 t2, T3 t3)
Applies this function partially to three arguments.- Parameters:
t1- argument 1t2- argument 2t3- argument 3- Returns:
- a partial application of this function
-
apply
default Function2<T5,T6,R> apply(T1 t1, T2 t2, T3 t3, T4 t4)
Applies this function partially to 4 arguments.- Parameters:
t1- argument 1t2- argument 2t3- argument 3t4- argument 4- Returns:
- a partial application of this function
-
apply
default Function1<T6,R> apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5)
Applies this function partially to 5 arguments.- Parameters:
t1- argument 1t2- argument 2t3- argument 3t4- argument 4t5- argument 5- Returns:
- a partial application of this function
-
arity
default int arity()
Returns the number of function arguments.- Returns:
- an int value >= 0
- See Also:
- Arity
-
curried
default Function1<T1,Function1<T2,Function1<T3,Function1<T4,Function1<T5,Function1<T6,R>>>>>> curried()
Returns a curried version of this function.- Returns:
- a curried function equivalent to this.
-
tupled
default Function1<Tuple6<T1,T2,T3,T4,T5,T6>,R> tupled()
Returns a tupled version of this function.- Returns:
- a tupled function equivalent to this.
-
reversed
default Function6<T6,T5,T4,T3,T2,T1,R> reversed()
Returns a reversed version of this function. This may be useful in a recursive context.- Returns:
- a reversed function equivalent to this.
-
memoized
default Function6<T1,T2,T3,T4,T5,T6,R> memoized()
Returns a memoizing version of this function, which computes the return value for given arguments only one time. On subsequent calls given the same arguments the memoized value is returned.Please note that memoizing functions do not permit
nullas single argument or return value.- Returns:
- a memoizing function equivalent to this.
-
isMemoized
default boolean isMemoized()
Checks if this function is memoizing (= caching) computed values.- Returns:
- true, if this function is memoizing, false otherwise
-
andThen
default <V> Function6<T1,T2,T3,T4,T5,T6,V> andThen(@NonNull java.util.function.Function<? super R,? extends V> after)
Returns a composed function that first applies this Function6 to the given argument and then applies Functionafterto the result.- Type Parameters:
V- return type of after- Parameters:
after- the function applied after this- Returns:
- a function composed of this and after
- Throws:
java.lang.NullPointerException- if after is null
-
compose1
default <S> Function6<S,T2,T3,T4,T5,T6,R> compose1(@NonNull Function1<? super S,? extends T1> before)
Returns a composed function that first applies the Functionbeforeto the 1st argument and then applies this Function6 to the result and the other arguments.- Type Parameters:
S- argument type of before- Parameters:
before- the function applied before this- Returns:
- a function composed of before and this
- Throws:
java.lang.NullPointerException- if before is null
-
compose2
default <S> Function6<T1,S,T3,T4,T5,T6,R> compose2(@NonNull Function1<? super S,? extends T2> before)
Returns a composed function that first applies the Functionbeforeto the 2nd argument and then applies this Function6 to the result and the other arguments.- Type Parameters:
S- argument type of before- Parameters:
before- the function applied before this- Returns:
- a function composed of before and this
- Throws:
java.lang.NullPointerException- if before is null
-
compose3
default <S> Function6<T1,T2,S,T4,T5,T6,R> compose3(@NonNull Function1<? super S,? extends T3> before)
Returns a composed function that first applies the Functionbeforeto the 3rd argument and then applies this Function6 to the result and the other arguments.- Type Parameters:
S- argument type of before- Parameters:
before- the function applied before this- Returns:
- a function composed of before and this
- Throws:
java.lang.NullPointerException- if before is null
-
compose4
default <S> Function6<T1,T2,T3,S,T5,T6,R> compose4(@NonNull Function1<? super S,? extends T4> before)
Returns a composed function that first applies the Functionbeforeto the 4th argument and then applies this Function6 to the result and the other arguments.- Type Parameters:
S- argument type of before- Parameters:
before- the function applied before this- Returns:
- a function composed of before and this
- Throws:
java.lang.NullPointerException- if before is null
-
compose5
default <S> Function6<T1,T2,T3,T4,S,T6,R> compose5(@NonNull Function1<? super S,? extends T5> before)
Returns a composed function that first applies the Functionbeforeto the 5th argument and then applies this Function6 to the result and the other arguments.- Type Parameters:
S- argument type of before- Parameters:
before- the function applied before this- Returns:
- a function composed of before and this
- Throws:
java.lang.NullPointerException- if before is null
-
compose6
default <S> Function6<T1,T2,T3,T4,T5,S,R> compose6(@NonNull Function1<? super S,? extends T6> before)
Returns a composed function that first applies the Functionbeforeto the 6th argument and then applies this Function6 to the result and the other arguments.- Type Parameters:
S- argument type of before- Parameters:
before- the function applied before this- Returns:
- a function composed of before and this
- Throws:
java.lang.NullPointerException- if before is null
-
-