P1 - first parameter typeP2 - second parameter type@FunctionalInterface public interface Procedure2<P1,P2> extends java.util.function.BiConsumer<P1,P2>, Procedure1<ITuple2<? extends P1,? extends P2>>
BiConsumer,
but in a more extensible way.
As it is extending BiConsumer it can be used anywhereProcedure0,
Procedure1,
Procedure3,
Procedure4,
Procedure5,
Procedure6,
Procedure7,
Procedure8,
Procedure9| Modifier and Type | Field and Description |
|---|---|
static Procedure2<?,?> |
NULL
Procedure with two arguments which does nothing.
|
| Modifier and Type | Method and Description |
|---|---|
default void |
accept(ITuple2<? extends P1,? extends P2> tuple2)
Expand a tuple into the arguments of this procedure.
|
default <FR extends ITuple2<? extends P1,? extends P2>,FP> |
after1(java.util.function.Function<FP,FR> before)
Get a chained procedure which first applies the given function, then this procedure.
|
default <FR extends ITuple2<? extends P1,? extends P2>,FP1,FP2> |
after2(java.util.function.BiFunction<FP1,FP2,FR> before)
Get a chained procedure which first applies the given 2-parameter function, then this procedure.
|
default <FR extends ITuple2<? extends P1,? extends P2>,FP1,FP2,FP3> |
after3(Function3<FR,FP1,FP2,FP3> before)
Get a chained procedure which first applies the given 3-parameter function, then this procedure.
|
default <FR extends ITuple2<? extends P1,? extends P2>,FP1,FP2,FP3,FP4,FP5> |
after5(Function5<FR,FP1,FP2,FP3,FP4,FP5> before)
Get a chained procedure which first applies the given 5-parameter function, then this procedure.
|
default <FR extends ITuple2<? extends P1,? extends P2>,FP1,FP2,FP3,FP4,FP5,FP6> |
after6(Function6<FR,FP1,FP2,FP3,FP4,FP5,FP6> before)
Get a chained procedure which first applies the given 6-parameter function, then this procedure.
|
default <FR extends ITuple2<? extends P1,? extends P2>,FP1,FP2,FP3,FP4,FP5,FP6,FP7> |
after7(Function7<FR,FP1,FP2,FP3,FP4,FP5,FP6,FP7> before)
Get a chained procedure which first applies the given 7-parameter function, then this one.
|
default <FR extends ITuple2<? extends P1,? extends P2>,FP1,FP2,FP3,FP4,FP5,FP6,FP7,FP8> |
after8(Function8<FR,FP1,FP2,FP3,FP4,FP5,FP6,FP7,FP8> before)
Get a chained procedure which first applies the given 8-parameter function, then this one.
|
default <FR extends ITuple2<? extends P1,? extends P2>,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 procedure which first applies the given 9-parameter function, then this one.
|
default void |
apply(P1 arg1,
P2 arg2)
Run the function.
|
static <T1,T2> Procedure2<T1,T2> |
empty()
Return a procedure which does nothing.
|
static <T1,T2> Procedure2<T1,T2> |
from(java.util.function.BiConsumer<T1,T2> bico)
Make a
BiConsumer usable as a Procedure2. |
static <E extends java.lang.Exception,PP1,PP2> |
nonFragile(FragileProcedure2<E,? super PP1,? super PP2> fragileProc)
Convert a 2-argument procedure which might throw a checked exception into
one which does throw an unchecked exception.
|
static <E extends java.lang.Exception,PP1,PP2> |
nonFragileX(FragileProcedure2<E,? super PP1,? super PP2> fragileProc,
Procedure3<? super E,? super PP1,? super PP2> exceptionHandler)
Convert a 2-argument procedure which might throw a checked exception into
one for which you can decide what happens with the exception.
|
default Procedure1<P2> |
partial1(P1 argument)
Get a partially applied procedure.
|
default Procedure1<P1> |
partial2(P2 argument)
Get a partially applied procedure.
|
default Procedure1<P2> |
partialLeft(P1 argument)
Get a partially applied procedure.
|
default Procedure1<P1> |
partialRight(P2 argument)
Get a partially applied procedure.
|
apply, applyNonNull, from, nonFragile, nonFragileX, partial@NotNull static final Procedure2<?,?> NULL
empty() instead.default void accept(@NotNull ITuple2<? extends P1,? extends P2> tuple2)
default void apply(P1 arg1, P2 arg2)
arg1 - first function argumentarg2 - second function argument@NotNull default Procedure1<P2> partialLeft(P1 argument)
argument - value applied for first argument@NotNull default Procedure1<P2> 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 Procedure1<P1> partialRight(P2 argument)
argument - value applied for second argument@NotNull default Procedure1<P1> partial2(P2 argument)
partialRight(Object), but with a name which is more
consistent with functions having more arguments.argument - value applied for second argument@NotNull default <FR extends ITuple2<? extends P1,? extends P2>,FP> Procedure1<FP> after1(@NotNull java.util.function.Function<FP,FR> before)
ITuple2 with matching parametric types
which are applied in their order to this procedure.FR - function before's return type, has to be a 2-tuple with matching typesFP - function before's parameter type, same for returned procedurebefore - function to apply first, has to return a non-null result so unpacking the parameters
from the tuple is possible@NotNull default <FR extends ITuple2<? extends P1,? extends P2>,FP1,FP2> Procedure2<FP1,FP2> after2(@NotNull java.util.function.BiFunction<FP1,FP2,FR> before)
ITuple2 with matching parametric types
which are applied in their order to this procedure.FR - function before's return type, has to be a 2-tuple with matching typesFP1 - function before's first parameter type, sane for returned procedureFP2 - function before's second parameter type, same for returned procedurebefore - function to apply first, has to return a non-null result so unpacking the parameters
from the tuple is possible@NotNull default <FR extends ITuple2<? extends P1,? extends P2>,FP1,FP2,FP3> Procedure3<FP1,FP2,FP3> after3(@NotNull Function3<FR,FP1,FP2,FP3> before)
ITuple2 with matching parametric types
which are applied in their order to this procedure.FR - function before's return type, has to be a 2-tuple with matching typesFP1 - function before's first parameter type, sane for returned procedureFP2 - function before's second parameter type, sane for returned procedureFP3 - function before's third parameter type, sane for returned procedurebefore - function to apply first, has to return a non-null result so unpacking the parameters
from the tuple is possible@NotNull default <FR extends ITuple2<? extends P1,? extends P2>,FP1,FP2,FP3,FP4,FP5> Procedure5<FP1,FP2,FP3,FP4,FP5> after5(@NotNull Function5<FR,FP1,FP2,FP3,FP4,FP5> before)
ITuple2 with matching parametric types
which are applied in their order to this function.FR - function before's return type, has to be a 2-tuple with matching typesFP1 - function before's first parameter type, sane for returned procedureFP2 - function before's second parameter type, sane for returned procedureFP3 - function before's third parameter type, sane for returned procedureFP4 - function before's fourth parameter type, sane for returned procedureFP5 - function before's fifth parameter type, sane for returned procedurebefore - function to apply first, has to return a non-null result so unpacking the parameters
from the tuple is possible@NotNull default <FR extends ITuple2<? extends P1,? extends P2>,FP1,FP2,FP3,FP4,FP5,FP6> Procedure6<FP1,FP2,FP3,FP4,FP5,FP6> after6(@NotNull Function6<FR,FP1,FP2,FP3,FP4,FP5,FP6> before)
ITuple2 with matching parametric types
which are applied in their order to this function.FR - function before's return type, has to be a 2-tuple with matching typesFP1 - function before's first parameter type, sane for returned procedureFP2 - function before's second parameter type, sane for returned procedureFP3 - function before's third parameter type, sane for returned procedureFP4 - function before's fourth parameter type, sane for returned procedureFP5 - function before's fifth parameter type, sane for returned procedureFP6 - function before's sixth parameter type, sane for returned procedurebefore - function to apply first, has to return a non-null result so unpacking the parameters
from the tuple is possible@NotNull default <FR extends ITuple2<? extends P1,? extends P2>,FP1,FP2,FP3,FP4,FP5,FP6,FP7> Procedure7<FP1,FP2,FP3,FP4,FP5,FP6,FP7> after7(@NotNull Function7<FR,FP1,FP2,FP3,FP4,FP5,FP6,FP7> before)
ITuple2 with matching parametric types
which are applied in their order to this procedure.FR - function before's return type, has to be a 2-tuple with matching typesFP1 - function before's first parameter type, sane for returned procedureFP2 - function before's second parameter type, sane for returned procedureFP3 - function before's third parameter type, sane for returned procedureFP4 - function before's fourth parameter type, sane for returned procedureFP5 - function before's fifth parameter type, sane for returned procedureFP6 - function before's sixth parameter type, sane for returned procedureFP7 - function before's seventh parameter type, sane for returned procedurebefore - function to apply first, has to return a non-null result so unpacking the parameters
from the tuple is possible@NotNull default <FR extends ITuple2<? extends P1,? extends P2>,FP1,FP2,FP3,FP4,FP5,FP6,FP7,FP8> Procedure8<FP1,FP2,FP3,FP4,FP5,FP6,FP7,FP8> after8(@NotNull Function8<FR,FP1,FP2,FP3,FP4,FP5,FP6,FP7,FP8> before)
ITuple2 with matching parametric types
which are applied in their order to this procedure.FR - function before's return type, has to be a 2-tuple with matching typesFP1 - function before's first parameter type, sane for returned procedureFP2 - function before's second parameter type, sane for returned procedureFP3 - function before's third parameter type, sane for returned procedureFP4 - function before's fourth parameter type, sane for returned procedureFP5 - function before's fifth parameter type, sane for returned procedureFP6 - function before's sixth parameter type, sane for returned procedureFP7 - function before's seventh parameter type, sane for returned procedureFP8 - function before's seventh parameter type, sane for returned procedurebefore - function to apply first, has to return a non-null result so unpacking the parameters
from the tuple is possible@NotNull default <FR extends ITuple2<? extends P1,? extends P2>,FP1,FP2,FP3,FP4,FP5,FP6,FP7,FP8,FP9> Procedure9<FP1,FP2,FP3,FP4,FP5,FP6,FP7,FP8,FP9> after9(@NotNull Function9<FR,FP1,FP2,FP3,FP4,FP5,FP6,FP7,FP8,FP9> before)
ITuple2 with matching parametric types
which are applied in their order to this procedure.FR - function before's return type, has to be a 2-tuple with matching typesFP1 - function before's first parameter type, sane for returned procedureFP2 - function before's second parameter type, sane for returned procedureFP3 - function before's third parameter type, sane for returned procedureFP4 - function before's fourth parameter type, sane for returned procedureFP5 - function before's fifth parameter type, sane for returned procedureFP6 - function before's sixth parameter type, sane for returned procedureFP7 - function before's seventh parameter type, sane for returned procedureFP8 - function before's seventh parameter type, sane for returned procedureFP9 - function before's ninth parameter type, sane for returned procedurebefore - function to apply first, has to return a non-null result so unpacking the parameters
from the tuple is possible@NotNull static <T1,T2> Procedure2<T1,T2> from(@NotNull java.util.function.BiConsumer<T1,T2> bico)
BiConsumer usable as a Procedure2.
This is eg useful if you want to use partial.T1 - type of first argumentT2 - type of second argumentbico - biconsumerProcedure2 view of the biconsumer@NotNull static <T1,T2> Procedure2<T1,T2> empty()
NULL, but the compiler will accept it smoothly.empty in interface Procedure1<ITuple2<? extends P1,? extends P2>>T1 - first argument typeT2 - second argument type@NotNull static <E extends java.lang.Exception,PP1,PP2> Procedure2<PP1,PP2> nonFragile(@NotNull FragileProcedure2<E,? super PP1,? super PP2> fragileProc)
WrappedFragileException for any
checked exception thrown during Procedure1.apply(Object).E - exception typePP1 - type of first parameterPP2 - type of second parameterfragileProc - procedure throwing a checked exception@NotNull static <E extends java.lang.Exception,PP1,PP2> Procedure2<PP1,PP2> nonFragileX(@NotNull FragileProcedure2<E,? super PP1,? super PP2> fragileProc, @NotNull Procedure3<? super E,? super PP1,? super PP2> exceptionHandler)
nonFragile(FragileProcedure2))E - exception typePP1 - type of first parameterPP2 - type of second parameterfragileProc - procedure throwing a checked exceptionexceptionHandler - exception handler. Its return value will be used as return value of the returned function.