P1
- first parameter typeP2
- second parameter typeP3
- third parameter typeP4
- fourth parameter type@FunctionalInterface public interface FragileProcedure4<E extends java.lang.Exception,P1,P2,P3,P4> extends FragileProcedure1<E,ITuple4<? extends P1,? extends P2,? extends P3,? extends P4>>
Procedure0
,
Procedure1
,
Procedure2
,
Procedure4
,
Procedure5
,
Procedure6
,
Procedure7
,
Procedure8
,
Procedure9
Modifier and Type | Field and Description |
---|---|
static FragileProcedure4<?,?,?,?,?> |
NULL
Procedure with three arguments which does nothing.
|
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 procedure which first applies the given function, then this procedure.
|
default void |
apply(ITuple4<? extends P1,? extends P2,? extends P3,? extends P4> tuple4)
Run the function.
|
void |
apply(P1 arg1,
P2 arg2,
P3 arg3,
P4 arg4)
Run the procedure.
|
static <X extends java.lang.Exception,T1,T2,T3,T4> |
empty()
Return a procedure which does nothing.
|
default Procedure4<P1,P2,P3,P4> |
nonFragile()
Convert this to a non-fragile procedure which does not throw a checked exception.
|
default Procedure4<P1,P2,P3,P4> |
nonFragileX(Procedure5<? super E,? super P1,? super P2,? super P3,? super P4> exceptionHandler)
Convert this to a non-fragile procedure which does not a checked exception.
|
default FragileProcedure3<E,P2,P3,P4> |
partial1(P1 argument)
Get a partially applied procedure.
|
default FragileProcedure3<E,P1,P3,P4> |
partial2(P2 argument)
Get a partially applied procedure.
|
default FragileProcedure3<E,P1,P2,P4> |
partial3(P3 argument)
Get a partially applied procedure.
|
default FragileProcedure3<E,P1,P2,P3> |
partial4(P4 argument)
Get a partially applied procedure.
|
applyNonNull, nonFragileX, partial
@NotNull static final FragileProcedure4<?,?,?,?,?> NULL
empty()
instead.void apply(P1 arg1, P2 arg2, P3 arg3, P4 arg4) throws E extends java.lang.Exception
arg1
- first procedure argumentarg2
- second procedure argumentarg3
- third procedure argumentarg4
- fourth procedure argumentE
- exceptionE extends java.lang.Exception
default void apply(@NotNull ITuple4<? extends P1,? extends P2,? extends P3,? extends P4> tuple4) throws E extends java.lang.Exception
FragileProcedure1
@NotNull default Procedure4<P1,P2,P3,P4> nonFragile()
WrappedFragileException
for any
checked exception thrown during apply(Object, Object, Object, Object)
.nonFragile
in interface FragileProcedure1<E extends java.lang.Exception,ITuple4<? extends P1,? extends P2,? extends P3,? extends P4>>
Procedure4.nonFragile(FragileProcedure4)
@NotNull default Procedure4<P1,P2,P3,P4> nonFragileX(@NotNull Procedure5<? super E,? super P1,? super P2,? super P3,? super P4> exceptionHandler)
WrappedFragileException
for any
checked exception thrown during apply(Object, Object, Object, Object)
.exceptionHandler
- handler called when an exception is encountered.
It may either ignore it, throw an unchecked exception,
or collect the exceptionsProcedure4.nonFragileX(FragileProcedure4, Procedure5)
@NotNull default <FR extends ITuple4<? extends P1,? extends P2,? extends P3,? extends P4>,FP> FragileProcedure1<E,FP> after1(@NotNull java.util.function.Function<FP,FR> before)
ITuple3
with matching parametric types
which are applied in their order to this procedure.FR
- function before
's return type, has to be a 3-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 FragileProcedure3<E,P2,P3,P4> partial1(P1 argument)
argument
- value applied for first argument@NotNull default FragileProcedure3<E,P1,P3,P4> partial2(P2 argument)
argument
- value applied for second argument@NotNull default FragileProcedure3<E,P1,P2,P4> partial3(P3 argument)
argument
- value applied for third argument@NotNull default FragileProcedure3<E,P1,P2,P3> partial4(P4 argument)
argument
- value applied for fourth argument@NotNull static <X extends java.lang.Exception,T1,T2,T3,T4> FragileProcedure4<X,T1,T2,T3,T4> empty()
NULL
, but the compiler will accept it smoothly.empty
in interface FragileProcedure1<E extends java.lang.Exception,ITuple4<? extends P1,? extends P2,? extends P3,? extends P4>>
X
- exception typeT1
- first argument typeT2
- second argument typeT3
- third argument typeT4
- fourth argument type