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, withFallbackR 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 nullapply(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)
WrappedFragileException 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.