Class OptionalStep5<A,B,C,D,E>

java.lang.Object
io.atlassian.fugue.extensions.step.OptionalStep5<A,B,C,D,E>
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
D - The type of the fourth defined value
E - The type of the fifth defined value

public final class OptionalStep5<A,B,C,D,E> extends Object
The fifth step of the Optional 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(Optional)

Since:
4.7.0
See Also:
  • Field Details

    • optional1

      private final Optional<A> optional1
    • optional2

      private final Optional<B> optional2
    • optional3

      private final Optional<C> optional3
    • optional4

      private final Optional<D> optional4
    • optional5

      private final Optional<E> optional5
  • Constructor Details

  • Method Details

    • then

      public <F> OptionalStep6<A,B,C,D,E,F> then(Function5<? super A, ? super B, ? super C, ? super D, ? super E, Optional<F>> functor)
      Apply the provided function with the previous Step results.

      Internally this will perform a Optional.flatMap(Function) and the result will become the next step value.

      Type Parameters:
      F - 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 <F> OptionalStep6<A,B,C,D,E,F> then(Supplier<Optional<F>> supplier)
      Apply the provided supplier with the previous Step results.

      Internally this will perform a Optional.flatMap(Function) and the supplier will become the next step value.

      This is different to then(Function5) in that the previous step results are not provided for the new step evaluation.

      Type Parameters:
      F - 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 OptionalStep5<A,B,C,D,E> filter(Predicate5<? super A, ? super B, ? super C, ? super D, ? super E> predicate)
      Apply the provided predicate with the previous step results.
      Parameters:
      predicate - The check that must be satisfied by contained values
      Returns:
      This step class with either the same last step value, or changed to empty
    • yield

      public <Z> Optional<Z> yield(Function5<? super A, ? super B, ? super C, ? super D, ? super E, Z> functor)
      Terminating step expression, that will provide the previous steps to this function and return the result as a of
      Type Parameters:
      Z - The type for the returned result
      Parameters:
      functor - The yield function to map on previous values
      Returns:
      An Optional containing this result or empty