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 functionT7
- argument 7 of the functionT8
- argument 8 of the functionR
- return type of the function@FunctionalInterface
public interface Function8<T1,T2,T3,T4,T5,T6,T7,T8,R>
extends java.io.Serializable
Modifier and Type | Field and Description |
---|---|
static long |
serialVersionUID
The serial version uid.
|
Modifier and Type | Method and Description |
---|---|
default <V> Function8<T1,T2,T3,T4,T5,T6,T7,T8,V> |
andThen(java.util.function.Function<? super R,? extends V> after)
Returns a composed function that first applies this Function8 to the given argument and then applies
Function
after to the result. |
default Function7<T2,T3,T4,T5,T6,T7,T8,R> |
apply(T1 t1)
Applies this function partially to one argument.
|
default Function6<T3,T4,T5,T6,T7,T8,R> |
apply(T1 t1,
T2 t2)
Applies this function partially to two arguments.
|
default Function5<T4,T5,T6,T7,T8,R> |
apply(T1 t1,
T2 t2,
T3 t3)
Applies this function partially to three arguments.
|
default Function4<T5,T6,T7,T8,R> |
apply(T1 t1,
T2 t2,
T3 t3,
T4 t4)
Applies this function partially to 4 arguments.
|
default Function3<T6,T7,T8,R> |
apply(T1 t1,
T2 t2,
T3 t3,
T4 t4,
T5 t5)
Applies this function partially to 5 arguments.
|
default Function2<T7,T8,R> |
apply(T1 t1,
T2 t2,
T3 t3,
T4 t4,
T5 t5,
T6 t6)
Applies this function partially to 6 arguments.
|
default Function1<T8,R> |
apply(T1 t1,
T2 t2,
T3 t3,
T4 t4,
T5 t5,
T6 t6,
T7 t7)
Applies this function partially to 7 arguments.
|
R |
apply(T1 t1,
T2 t2,
T3 t3,
T4 t4,
T5 t5,
T6 t6,
T7 t7,
T8 t8)
Applies this function to 8 arguments and returns the result.
|
default int |
arity()
Returns the number of function arguments.
|
static <T1,T2,T3,T4,T5,T6,T7,T8,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,Function1<T7,Function1<T8,R>>>>>>>> |
curried()
Returns a curried version of this function.
|
default boolean |
isMemoized()
Checks if this function is memoizing (= caching) computed values.
|
static <T1,T2,T3,T4,T5,T6,T7,T8,R> |
lift(Function8<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? extends R> partialFunction)
Lifts the given
partialFunction into a total function that returns an Option result. |
static <T1,T2,T3,T4,T5,T6,T7,T8,R> |
liftTry(Function8<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? extends R> partialFunction)
Lifts the given
partialFunction into a total function that returns an Try result. |
default Function8<T1,T2,T3,T4,T5,T6,T7,T8,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,T7,T8,R> |
narrow(Function8<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? extends R> f)
Narrows the given
Function8<? super T1, ? super T2, ? super T3, ? super T4, ? super T5, ? super T6, ? super T7, ? super T8, ? extends R> to Function8<T1, T2, T3, T4, T5, T6, T7, T8, R> |
static <T1,T2,T3,T4,T5,T6,T7,T8,R> |
of(Function8<T1,T2,T3,T4,T5,T6,T7,T8,R> methodReference)
|
default Function8<T8,T7,T6,T5,T4,T3,T2,T1,R> |
reversed()
Returns a reversed version of this function.
|
default Function1<Tuple8<T1,T2,T3,T4,T5,T6,T7,T8>,R> |
tupled()
Returns a tupled version of this function.
|
static final long serialVersionUID
static <T1,T2,T3,T4,T5,T6,T7,T8,R> Function8<T1,T2,T3,T4,T5,T6,T7,T8,R> constant(R value)
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 functionT7
- generic parameter type 7 of the resulting functionT8
- generic parameter type 8 of the resulting functionR
- the result typevalue
- the value to be returnedstatic <T1,T2,T3,T4,T5,T6,T7,T8,R> Function8<T1,T2,T3,T4,T5,T6,T7,T8,R> of(Function8<T1,T2,T3,T4,T5,T6,T7,T8,R> methodReference)
Function8
based 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
R
- return typeT1
- 1st argumentT2
- 2nd argumentT3
- 3rd argumentT4
- 4th argumentT5
- 5th argumentT6
- 6th argumentT7
- 7th argumentT8
- 8th argumentmethodReference
- (typically) a method reference, e.g. Type::method
Function8
static <T1,T2,T3,T4,T5,T6,T7,T8,R> Function8<T1,T2,T3,T4,T5,T6,T7,T8,Option<R>> lift(Function8<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? extends R> partialFunction)
partialFunction
into a total function that returns an Option
result.R
- return typeT1
- 1st argumentT2
- 2nd argumentT3
- 3rd argumentT4
- 4th argumentT5
- 5th argumentT6
- 6th argumentT7
- 7th argumentT8
- 8th argumentpartialFunction
- a function that is not defined for all values of the domain (e.g. by throwing)partialFunction
and returns Some(result)
if the function is defined for the given arguments, and None
otherwise.static <T1,T2,T3,T4,T5,T6,T7,T8,R> Function8<T1,T2,T3,T4,T5,T6,T7,T8,Try<R>> liftTry(Function8<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? extends R> partialFunction)
partialFunction
into a total function that returns an Try
result.R
- return typeT1
- 1st argumentT2
- 2nd argumentT3
- 3rd argumentT4
- 4th argumentT5
- 5th argumentT6
- 6th argumentT7
- 7th argumentT8
- 8th argumentpartialFunction
- a function that is not defined for all values of the domain (e.g. by throwing)partialFunction
and returns Success(result)
if the function is defined for the given arguments, and Failure(throwable)
otherwise.static <T1,T2,T3,T4,T5,T6,T7,T8,R> Function8<T1,T2,T3,T4,T5,T6,T7,T8,R> narrow(Function8<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? extends R> f)
Function8<? super T1, ? super T2, ? super T3, ? super T4, ? super T5, ? super T6, ? super T7, ? super T8, ? extends R>
to Function8<T1, T2, T3, T4, T5, T6, T7, T8, R>
R
- return typeT1
- 1st argumentT2
- 2nd argumentT3
- 3rd argumentT4
- 4th argumentT5
- 5th argumentT6
- 6th argumentT7
- 7th argumentT8
- 8th argumentf
- A Function8
f
instance as narrowed type Function8<T1, T2, T3, T4, T5, T6, T7, T8, R>
R apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8)
t1
- argument 1t2
- argument 2t3
- argument 3t4
- argument 4t5
- argument 5t6
- argument 6t7
- argument 7t8
- argument 8default Function7<T2,T3,T4,T5,T6,T7,T8,R> apply(T1 t1)
t1
- argument 1default Function6<T3,T4,T5,T6,T7,T8,R> apply(T1 t1, T2 t2)
t1
- argument 1t2
- argument 2default Function5<T4,T5,T6,T7,T8,R> apply(T1 t1, T2 t2, T3 t3)
t1
- argument 1t2
- argument 2t3
- argument 3default Function4<T5,T6,T7,T8,R> apply(T1 t1, T2 t2, T3 t3, T4 t4)
t1
- argument 1t2
- argument 2t3
- argument 3t4
- argument 4default Function3<T6,T7,T8,R> apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5)
t1
- argument 1t2
- argument 2t3
- argument 3t4
- argument 4t5
- argument 5default Function2<T7,T8,R> apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6)
t1
- argument 1t2
- argument 2t3
- argument 3t4
- argument 4t5
- argument 5t6
- argument 6default Function1<T8,R> apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7)
t1
- argument 1t2
- argument 2t3
- argument 3t4
- argument 4t5
- argument 5t6
- argument 6t7
- argument 7default int arity()
default Function1<T1,Function1<T2,Function1<T3,Function1<T4,Function1<T5,Function1<T6,Function1<T7,Function1<T8,R>>>>>>>> curried()
default Function1<Tuple8<T1,T2,T3,T4,T5,T6,T7,T8>,R> tupled()
default Function8<T8,T7,T6,T5,T4,T3,T2,T1,R> reversed()
default Function8<T1,T2,T3,T4,T5,T6,T7,T8,R> memoized()
Please note that memoizing functions do not permit null
as single argument or return value.
default boolean isMemoized()
default <V> Function8<T1,T2,T3,T4,T5,T6,T7,T8,V> andThen(java.util.function.Function<? super R,? extends V> after)
after
to the result.V
- return type of afterafter
- the function applied after thisjava.lang.NullPointerException
- if after is null