Class TryStep3<A,B,C>
- java.lang.Object
-
- io.atlassian.fugue.extensions.step.TryStep3<A,B,C>
-
- Type Parameters:
A- The type of the first defined valueB- The type of the second defined valueC- The type of the third defined value
public final class TryStep3<A,B,C> extends java.lang.ObjectThe third step of theTrytype.This class is not intended to be contructed manually, and should only be used as part of a
Stepschain, started bySteps.begin(Try)- Since:
- 4.7.0
- See Also:
for usage examples,Try
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description TryStep3<A,B,C>filter(Predicate3<? super A,? super B,? super C> predicate, java.util.function.Supplier<java.lang.Exception> unsatisfiedSupplier)Apply the provided predicate with the previous step results.<D> TryStep4<A,B,C,D>then(Function3<? super A,? super B,? super C,Try<D>> functor)Apply the provided function with the previous Step results.<D> TryStep4<A,B,C,D>then(java.util.function.Supplier<Try<D>> supplier)Apply the provided supplier with the previous Step results.<Z> Try<Z>yield(Function3<? super A,? super B,? super C,Z> functor)Terminating step expression, that will provide the previous steps to this function and return the result as aSuccess
-
-
-
Method Detail
-
then
public <D> TryStep4<A,B,C,D> then(Function3<? super A,? super B,? super C,Try<D>> functor)
Apply the provided function with the previous Step results.Internally this will perform a
Try.flatMap(Function)and the result will become the next step value.- Type Parameters:
D- The type of the next step result- Parameters:
functor- The functor to be applied as a flatMap with the previous steps- Returns:
- The next step class
-
then
public <D> TryStep4<A,B,C,D> then(java.util.function.Supplier<Try<D>> supplier)
Apply the provided supplier with the previous Step results.Internally this will perform a
Try.flatMap(Function)and the supplier will become the next step value.This is different to
then(Function3)in that the previous step results are not provided for the new step evaluation.- Type Parameters:
D- The type of the next step result- Parameters:
supplier- The supplier to provide the result of the flatMap with the previous step.- Returns:
- The next step class
-
filter
public TryStep3<A,B,C> filter(Predicate3<? super A,? super B,? super C> predicate, java.util.function.Supplier<java.lang.Exception> unsatisfiedSupplier)
Apply the provided predicate with the previous step results.If the predicate is not satisfied then the unsatisfiedSupplier is used to populate the failure value that will prevent any further steps evaluation.
- Parameters:
predicate- The check that must be satisfied by contained valuesunsatisfiedSupplier- Provide the value to populate the failure if not satisfied- Returns:
- This step class with either the same last step value, or changed to a failure
-
yield
public <Z> Try<Z> yield(Function3<? super A,? super B,? super C,Z> functor)
Terminating step expression, that will provide the previous steps to this function and return the result as aSuccess- Type Parameters:
Z- The type for the returned result- Parameters:
functor- The yield function to map on previous values- Returns:
- A Try containing this result as success or failure
-
-