R
- return typeP1
- parameter type 1P2
- parameter type 2P3
- parameter type 3P4
- parameter type 4@FunctionalInterface public interface Function4<R,P1,P2,P3,P4> extends Function1<R,ITuple4<? extends P1,? extends P2,? extends P3,? extends P4>>
Modifier and Type | Method and Description |
---|---|
default <FR extends ITuple4<? extends P1,? extends P2,? extends P3,? extends P4>,FP> |
after1(java.util.function.Function<FP,FR> before)
Get a chained function which first applies the given function, then this one.
|
default <FR extends ITuple4<? extends P1,? extends P2,? extends P3,? extends P4>,FP1,FP2> |
after2(java.util.function.BiFunction<FP1,FP2,FR> before)
Get a chained function which first applies the given 2-parameter function, then this one.
|
default <FR extends ITuple4<? extends P1,? extends P2,? extends P3,? extends P4>,FP1,FP2,FP3> |
after3(Function3<FR,FP1,FP2,FP3> before)
Get a chained function which first applies the given 3-parameter function, then this one.
|
default <FR extends ITuple4<? extends P1,? extends P2,? extends P3,? extends P4>,FP1,FP2,FP3,FP4,FP5> |
after5(Function5<FR,FP1,FP2,FP3,FP4,FP5> before)
Get a chained function which first applies the given 5-parameter function, then this one.
|
default <FR extends ITuple4<? extends P1,? extends P2,? extends P3,? extends P4>,FP1,FP2,FP3,FP4,FP5,FP6> |
after6(Function6<FR,FP1,FP2,FP3,FP4,FP5,FP6> before)
Get a chained function which first applies the given 6-parameter function, then this one.
|
default <FR extends ITuple4<? extends P1,? extends P2,? extends P3,? extends P4>,FP1,FP2,FP3,FP4,FP5,FP6,FP7> |
after7(Function7<FR,FP1,FP2,FP3,FP4,FP5,FP6,FP7> before)
Get a chained function which first applies the given 7-parameter function, then this one.
|
default <FR extends ITuple4<? extends P1,? extends P2,? extends P3,? extends P4>,FP1,FP2,FP3,FP4,FP5,FP6,FP7,FP8> |
after8(Function8<FR,FP1,FP2,FP3,FP4,FP5,FP6,FP7,FP8> before)
Get a chained function which first applies the given 8-parameter function, then this one.
|
default <FR extends ITuple4<? extends P1,? extends P2,? extends P3,? extends P4>,FP1,FP2,FP3,FP4,FP5,FP6,FP7,FP8,FP9> |
after9(Function9<FR,FP1,FP2,FP3,FP4,FP5,FP6,FP7,FP8,FP9> before)
Get a chained function which first applies the given 9-parameter function, then this one.
|
default <T> Function4<T,P1,P2,P3,P4> |
andThen(java.util.function.Function<? super R,? extends T> after)
Get a chained function which first applies this function
and then the given function to the returned value.
|
default R |
apply(ITuple4<? extends P1,? extends P2,? extends P3,? extends P4> tuple4)
Expand a tuple into the arguments of this function.
|
R |
apply(P1 arg1,
P2 arg2,
P3 arg3,
P4 arg4)
Run the function.
|
default R |
applyOrDefault(P1 arg1,
P2 arg2,
P3 arg3,
P4 arg4,
R fallback)
Apply this function, but take care to create a fallback.
|
static <E extends java.lang.Exception,RR,PP1,PP2,PP3,PP4> |
nonFragile(FragileFunction4<? extends RR,E,? super PP1,? super PP2,? super PP3,? super PP4> fragileFunction)
Convert a 4-argument function which might throw a checked exception into
one which does throw an unchecked exception.
|
static <E extends java.lang.Exception,RR,PP1,PP2,PP3,PP4> |
nonFragile(FragileFunction4<? extends RR,E,? super PP1,? super PP2,? super PP3,? super PP4> fragileFunction,
RR fallback)
Convert a 4-argument function which might throw a checked exception into
one which will return a default value instead of throwing an exception.
|
static <E extends java.lang.Exception,RR,PP1,PP2,PP3,PP4> |
nonFragileX(FragileFunction4<? extends RR,E,? super PP1,? super PP2,? super PP3,? super PP4> fragileFunction,
Function5<? extends RR,? super E,? super PP1,? super PP2,? super PP3,? super PP4> exceptionHandler)
Convert a 4-argument function which might throw a checked exception into
one for which you can decide what happens with the exception.
|
default Function3<R,P2,P3,P4> |
partial1(P1 argument)
Get a partially applied function.
|
default Function3<R,P1,P3,P4> |
partial2(P2 argument)
Get a partially applied function.
|
default Function3<R,P1,P2,P4> |
partial3(P3 argument)
Get a partially applied function.
|
default Function3<R,P1,P2,P3> |
partial4(P4 argument)
Get a partially applied function.
|
after, applyNonNull, applyOrDefault, fallback, fallback, from, from, nonFragile, nonFragile, nonFragileX, partial, withFallback
R apply(P1 arg1, P2 arg2, P3 arg3, P4 arg4)
arg1
- function argument 1arg2
- function argument 2arg3
- function argument 3arg4
- function argument 4default R apply(@NotNull ITuple4<? extends P1,? extends P2,? extends P3,? extends P4> tuple4)
@NotNull default R applyOrDefault(P1 arg1, P2 arg2, P3 arg3, P4 arg4, @NotNull R fallback)
apply(Object, Object, Object, Object)
returns null
.arg1
- first argument of this functionarg2
- second argument of this functionarg3
- third argument of this functionarg4
- fourth argument of this functionfallback
- fallback value returned if function returns null
apply(Object, Object, Object, Object)
, or fallback
if the result was null
@NotNull default Function3<R,P2,P3,P4> partial1(P1 argument)
argument
- value applied for first argument@NotNull default Function3<R,P1,P3,P4> partial2(P2 argument)
argument
- value applied for second argument@NotNull default Function3<R,P1,P2,P4> partial3(P3 argument)
argument
- value applied for third argument@NotNull default Function3<R,P1,P2,P3> partial4(P4 argument)
argument
- value applied for fourth argument@NotNull default <T> Function4<T,P1,P2,P3,P4> andThen(@NotNull java.util.function.Function<? super R,? extends T> after)
andThen
in interface java.util.function.Function<ITuple4<? extends P1,? extends P2,? extends P3,? extends P4>,R>
andThen
in interface Function1<R,ITuple4<? extends P1,? extends P2,? extends P3,? extends P4>>
T
- result type of returned functionafter
- function to apply after this one@NotNull default <FR extends ITuple4<? extends P1,? extends P2,? extends P3,? extends P4>,FP> Function1<R,FP> after1(@NotNull java.util.function.Function<FP,FR> before)
ITuple4
with matching parametric types
which are applied in their order to this function.FR
- function before
's return type, has to be a 4-tuple with matching typesFP
- function before
's parameter type, same for returned functionbefore
- function to apply first, has to return a non-null
result so unpacking the parameters
from the tuple is possible@NotNull default <FR extends ITuple4<? extends P1,? extends P2,? extends P3,? extends P4>,FP1,FP2> Function2<R,FP1,FP2> after2(@NotNull java.util.function.BiFunction<FP1,FP2,FR> before)
ITuple4
with matching parametric types
which are applied in their order to this function.FR
- function before
's return type, has to be a 4-tuple with matching typesFP1
- function before
's first parameter type, sane for returned functionFP2
- function before
's second parameter type, same for returned functionbefore
- function to apply first, has to return a non-null
result so unpacking the parameters
from the tuple is possible@NotNull default <FR extends ITuple4<? extends P1,? extends P2,? extends P3,? extends P4>,FP1,FP2,FP3> Function3<R,FP1,FP2,FP3> after3(@NotNull Function3<FR,FP1,FP2,FP3> before)
ITuple4
with matching parametric types
which are applied in their order to this function.FR
- function before
's return type, has to be a 4-tuple with matching typesFP1
- function before
's first parameter type, sane for returned functionFP2
- function before
's second parameter type, sane for returned functionFP3
- function before
's third parameter type, sane for returned functionbefore
- function to apply first, has to return a non-null
result so unpacking the parameters
from the tuple is possible@NotNull default <FR extends ITuple4<? extends P1,? extends P2,? extends P3,? extends P4>,FP1,FP2,FP3,FP4,FP5> Function5<R,FP1,FP2,FP3,FP4,FP5> after5(@NotNull Function5<FR,FP1,FP2,FP3,FP4,FP5> before)
ITuple4
with matching parametric types
which are applied in their order to this function.FR
- function before
's return type, has to be a 4-tuple with matching typesFP1
- function before
's first parameter type, sane for returned functionFP2
- function before
's second parameter type, sane for returned functionFP3
- function before
's third parameter type, sane for returned functionFP4
- function before
's fourth parameter type, sane for returned functionFP5
- function before
's fifth parameter type, sane for returned functionbefore
- function to apply first, has to return a non-null
result so unpacking the parameters
from the tuple is possible@NotNull default <FR extends ITuple4<? extends P1,? extends P2,? extends P3,? extends P4>,FP1,FP2,FP3,FP4,FP5,FP6> Function6<R,FP1,FP2,FP3,FP4,FP5,FP6> after6(@NotNull Function6<FR,FP1,FP2,FP3,FP4,FP5,FP6> before)
ITuple4
with matching parametric types
which are applied in their order to this function.FR
- function before
's return type, has to be a 4-tuple with matching typesFP1
- function before
's first parameter type, sane for returned functionFP2
- function before
's second parameter type, sane for returned functionFP3
- function before
's third parameter type, sane for returned functionFP4
- function before
's fourth parameter type, sane for returned functionFP5
- function before
's fifth parameter type, sane for returned functionFP6
- function before
's sixth parameter type, sane for returned functionbefore
- function to apply first, has to return a non-null
result so unpacking the parameters
from the tuple is possible@NotNull default <FR extends ITuple4<? extends P1,? extends P2,? extends P3,? extends P4>,FP1,FP2,FP3,FP4,FP5,FP6,FP7> Function7<R,FP1,FP2,FP3,FP4,FP5,FP6,FP7> after7(@NotNull Function7<FR,FP1,FP2,FP3,FP4,FP5,FP6,FP7> before)
ITuple4
with matching parametric types
which are applied in their order to this function.FR
- function before
's return type, has to be a 4-tuple with matching typesFP1
- function before
's first parameter type, sane for returned functionFP2
- function before
's second parameter type, sane for returned functionFP3
- function before
's third parameter type, sane for returned functionFP4
- function before
's fourth parameter type, sane for returned functionFP5
- function before
's fifth parameter type, sane for returned functionFP6
- function before
's sixth parameter type, sane for returned functionFP7
- function before
's seventh parameter type, sane for returned functionbefore
- function to apply first, has to return a non-null
result so unpacking the parameters
from the tuple is possible@NotNull default <FR extends ITuple4<? extends P1,? extends P2,? extends P3,? extends P4>,FP1,FP2,FP3,FP4,FP5,FP6,FP7,FP8> Function8<R,FP1,FP2,FP3,FP4,FP5,FP6,FP7,FP8> after8(@NotNull Function8<FR,FP1,FP2,FP3,FP4,FP5,FP6,FP7,FP8> before)
ITuple4
with matching parametric types
which are applied in their order to this function.FR
- function before
's return type, has to be a 4-tuple with matching typesFP1
- function before
's first parameter type, sane for returned functionFP2
- function before
's second parameter type, sane for returned functionFP3
- function before
's third parameter type, sane for returned functionFP4
- function before
's fourth parameter type, sane for returned functionFP5
- function before
's fifth parameter type, sane for returned functionFP6
- function before
's sixth parameter type, sane for returned functionFP7
- function before
's seventh parameter type, sane for returned functionFP8
- function before
's seventh parameter type, sane for returned functionbefore
- function to apply first, has to return a non-null
result so unpacking the parameters
from the tuple is possible@NotNull default <FR extends ITuple4<? extends P1,? extends P2,? extends P3,? extends P4>,FP1,FP2,FP3,FP4,FP5,FP6,FP7,FP8,FP9> Function9<R,FP1,FP2,FP3,FP4,FP5,FP6,FP7,FP8,FP9> after9(@NotNull Function9<FR,FP1,FP2,FP3,FP4,FP5,FP6,FP7,FP8,FP9> before)
ITuple4
with matching parametric types
which are applied in their order to this function.FR
- function before
's return type, has to be a 4-tuple with matching typesFP1
- function before
's first parameter type, sane for returned functionFP2
- function before
's second parameter type, sane for returned functionFP3
- function before
's third parameter type, sane for returned functionFP4
- function before
's fourth parameter type, sane for returned functionFP5
- function before
's fifth parameter type, sane for returned functionFP6
- function before
's sixth parameter type, sane for returned functionFP7
- function before
's seventh parameter type, sane for returned functionFP8
- function before
's seventh parameter type, sane for returned functionFP9
- function before
's ninth parameter type, sane for returned functionbefore
- function to apply first, has to return a non-null
result so unpacking the parameters
from the tuple is possible@NotNull static <E extends java.lang.Exception,RR,PP1,PP2,PP3,PP4> Function4<RR,PP1,PP2,PP3,PP4> nonFragile(@NotNull FragileFunction4<? extends RR,E,? super PP1,? super PP2,? super PP3,? super PP4> fragileFunction)
RuntimeException
for any
checked exception thrown during apply(Object, Object, Object, Object)
.E
- exception typeRR
- result type of incoming and outgoing function.PP1
- type of first parameter of returned functionsPP2
- type of second parameter of returned functionsPP3
- type of third parameter of returned functionsPP4
- type of fourth parameter of returned functionsfragileFunction
- function throwing a checked exception@NotNull static <E extends java.lang.Exception,RR,PP1,PP2,PP3,PP4> Function4<RR,PP1,PP2,PP3,PP4> nonFragile(@NotNull FragileFunction4<? extends RR,E,? super PP1,? super PP2,? super PP3,? super PP4> fragileFunction, RR fallback)
E
- exception typeRR
- result type of incoming and outgoing function.PP1
- type of first parameter of returned functionsPP2
- type of second parameter of returned functionsPP3
- type of third parameter of returned functionsPP4
- type of fourth parameter of returned functionsfragileFunction
- function throwing a checked exceptionfallback
- fallback returned when fragileFunction
has thrown an exception@NotNull static <E extends java.lang.Exception,RR,PP1,PP2,PP3,PP4> Function4<RR,PP1,PP2,PP3,PP4> nonFragileX(@NotNull FragileFunction4<? extends RR,E,? super PP1,? super PP2,? super PP3,? super PP4> fragileFunction, @NotNull Function5<? extends RR,? super E,? super PP1,? super PP2,? super PP3,? super PP4> exceptionHandler)
Function1.nonFragile(FragileFunction1)
)Function1.nonFragile(FragileFunction1, Object)
)E
- exception typeRR
- result type of incoming and outgoing function.PP1
- type of first parameter of returned functionsPP2
- type of second parameter of returned functionsPP3
- type of third parameter of returned functionsPP4
- type of fourth parameter of returned functionsfragileFunction
- function throwing a checked exceptionexceptionHandler
- exception handler. Its return value will be used as return value of the returned function.