R
- return typeP1
- parameter type 1P2
- parameter type 2P3
- parameter type 3@FunctionalInterface public interface Function3<R,P1,P2,P3> extends Function1<R,ITuple3<? extends P1,? extends P2,? extends P3>>
Modifier and Type | Method and Description |
---|---|
default <FR extends ITuple3<? extends P1,? extends P2,? extends P3>,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 ITuple3<? extends P1,? extends P2,? extends P3>,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 ITuple3<? extends P1,? extends P2,? extends P3>,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 ITuple3<? extends P1,? extends P2,? extends P3>,FP1,FP2,FP3,FP4> |
after4(Function4<FR,FP1,FP2,FP3,FP4> before)
Get a chained function which first applies the given 4-parameter function, then this one.
|
default <FR extends ITuple3<? extends P1,? extends P2,? extends P3>,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 ITuple3<? extends P1,? extends P2,? extends P3>,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 ITuple3<? extends P1,? extends P2,? extends P3>,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 ITuple3<? extends P1,? extends P2,? extends P3>,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 ITuple3<? extends P1,? extends P2,? extends P3>,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> Function3<T,P1,P2,P3> |
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(ITuple3<? extends P1,? extends P2,? extends P3> tuple3)
Expand a tuple into the arguments of this function.
|
R |
apply(P1 arg1,
P2 arg2,
P3 arg3)
Run the function.
|
default R |
applyOrDefault(P1 arg1,
P2 arg2,
P3 arg3,
R fallback)
Apply this function, but take care to create a fallback.
|
static <E extends java.lang.Exception,RR,PP1,PP2,PP3> |
nonFragile(FragileFunction3<? extends RR,E,? super PP1,? super PP2,? super PP3> fragileFunction)
Convert a 3-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> |
nonFragile(FragileFunction3<? extends RR,E,? super PP1,? super PP2,? super PP3> fragileFunction,
RR fallback)
Convert a 3-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> |
nonFragileX(FragileFunction3<? extends RR,E,? super PP1,? super PP2,? super PP3> fragileFunction,
Function4<? extends RR,? super E,? super PP1,? super PP2,? super PP3> exceptionHandler)
Convert a 3-argument function which might throw a checked exception into
one for which you can decide what happens with the exception.
|
default Function2<R,P2,P3> |
partial1(P1 argument)
Get a partially applied function.
|
default Function2<R,P1,P3> |
partial2(P2 argument)
Get a partially applied function.
|
default Function2<R,P1,P2> |
partial3(P3 argument)
Get a partially applied function.
|
default Function2<R,P2,P3> |
partialLeft(P1 argument)
Get a partially applied function.
|
default Function2<R,P1,P3> |
partialMid(P2 argument)
Get a partially applied function.
|
default Function2<R,P1,P2> |
partialRight(P3 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)
arg1
- function argument 1arg2
- function argument 2arg3
- function argument 3default R apply(@NotNull ITuple3<? extends P1,? extends P2,? extends P3> tuple3)
@NotNull default R applyOrDefault(P1 arg1, P2 arg2, P3 arg3, @NotNull R fallback)
apply(Object, Object, Object)
returns null
.arg1
- first argument of this functionarg2
- second argument of this functionarg3
- third argument of this functionfallback
- fallback value returned if function returns null
apply(Object, Object, Object)
, or fallback
if the result was null
@NotNull default Function2<R,P2,P3> partialLeft(P1 argument)
argument
- value applied for first argument@NotNull default Function2<R,P2,P3> partial1(P1 argument)
partialLeft(Object)
, but with a name which is more
consistent with functions having more arguments.argument
- value applied for first argument@NotNull default Function2<R,P1,P3> partialMid(P2 argument)
argument
- value applied for second argument@NotNull default Function2<R,P1,P3> partial2(P2 argument)
partialMid(Object)
, but with a name which is more
consistent with functions having more arguments.argument
- value applied for second argument@NotNull default Function2<R,P1,P2> partialRight(P3 argument)
argument
- value applied for third argument@NotNull default Function2<R,P1,P2> partial3(P3 argument)
partialRight(Object)
, but with a name which is more
consistent with functions having more arguments.argument
- value applied for third argument@NotNull default <T> Function3<T,P1,P2,P3> andThen(@NotNull java.util.function.Function<? super R,? extends T> after)
andThen
in interface java.util.function.Function<ITuple3<? extends P1,? extends P2,? extends P3>,R>
andThen
in interface Function1<R,ITuple3<? extends P1,? extends P2,? extends P3>>
T
- result type of returned functionafter
- function to apply after this one@NotNull default <FR extends ITuple3<? extends P1,? extends P2,? extends P3>,FP> Function1<R,FP> after1(@NotNull java.util.function.Function<FP,FR> before)
ITuple3
with matching parametric types
which are applied in their order to this function.FR
- function before
's return type, has to be a 3-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 ITuple3<? extends P1,? extends P2,? extends P3>,FP1,FP2> Function2<R,FP1,FP2> after2(@NotNull java.util.function.BiFunction<FP1,FP2,FR> before)
ITuple3
with matching parametric types
which are applied in their order to this function.FR
- function before
's return type, has to be a 3-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 ITuple3<? extends P1,? extends P2,? extends P3>,FP1,FP2,FP3> Function3<R,FP1,FP2,FP3> after3(@NotNull Function3<FR,FP1,FP2,FP3> before)
ITuple3
with matching parametric types
which are applied in their order to this function.FR
- function before
's return type, has to be a 3-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 ITuple3<? extends P1,? extends P2,? extends P3>,FP1,FP2,FP3,FP4> Function4<R,FP1,FP2,FP3,FP4> after4(@NotNull Function4<FR,FP1,FP2,FP3,FP4> before)
ITuple3
with matching parametric types
which are applied in their order to this function.FR
- function before
's return type, has to be a 3-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 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 ITuple3<? extends P1,? extends P2,? extends P3>,FP1,FP2,FP3,FP4,FP5> Function5<R,FP1,FP2,FP3,FP4,FP5> after5(@NotNull Function5<FR,FP1,FP2,FP3,FP4,FP5> before)
ITuple3
with matching parametric types
which are applied in their order to this function.FR
- function before
's return type, has to be a 3-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 ITuple3<? extends P1,? extends P2,? extends P3>,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)
ITuple3
with matching parametric types
which are applied in their order to this function.FR
- function before
's return type, has to be a 3-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 ITuple3<? extends P1,? extends P2,? extends P3>,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)
ITuple3
with matching parametric types
which are applied in their order to this function.FR
- function before
's return type, has to be a 3-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 ITuple3<? extends P1,? extends P2,? extends P3>,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)
ITuple3
with matching parametric types
which are applied in their order to this function.FR
- function before
's return type, has to be a 3-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 ITuple3<? extends P1,? extends P2,? extends P3>,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)
ITuple3
with matching parametric types
which are applied in their order to this function.FR
- function before
's return type, has to be a 3-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> Function3<RR,PP1,PP2,PP3> nonFragile(@NotNull FragileFunction3<? extends RR,E,? super PP1,? super PP2,? super PP3> fragileFunction)
WrappedFragileException
for any
checked exception thrown during apply(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 functionsfragileFunction
- function throwing a checked exception@NotNull static <E extends java.lang.Exception,RR,PP1,PP2,PP3> Function3<RR,PP1,PP2,PP3> nonFragile(@NotNull FragileFunction3<? extends RR,E,? super PP1,? super PP2,? super PP3> 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 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> Function3<RR,PP1,PP2,PP3> nonFragileX(@NotNull FragileFunction3<? extends RR,E,? super PP1,? super PP2,? super PP3> fragileFunction, @NotNull Function4<? extends RR,? super E,? super PP1,? super PP2,? super PP3> 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 functionsfragileFunction
- function throwing a checked exceptionexceptionHandler
- exception handler. Its return value will be used as return value of the returned function.