Class TryStep3<A,​B,​C>

  • Type Parameters:
    A - The type of the first defined value
    B - The type of the second defined value
    C - The type of the third defined value

    public final class TryStep3<A,​B,​C>
    extends java.lang.Object
    The third step of the Try type.

    This class is not intended to be contructed manually, and should only be used as part of a Steps chain, started by Steps.begin(Try)

    Since:
    4.7.0
    See Also:
    for usage examples, Try
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private Try<A> try1  
      private Try<B> try2  
      private Try<C> try3  
    • Constructor Summary

      Constructors 
      Constructor Description
      TryStep3​(Try<A> try1, Try<B> try2, Try<C> try3)  
    • 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 a Success
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • try1

        private final Try<A> try1
      • try2

        private final Try<B> try2
      • try3

        private final Try<C> try3
    • Constructor Detail

      • TryStep3

        TryStep3​(Try<A> try1,
                 Try<B> try2,
                 Try<C> try3)
    • 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 values
        unsatisfiedSupplier - 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 a Success
        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