Class OptionStep2<A,​B>

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

    public final class OptionStep2<A,​B>
    extends java.lang.Object
    The second step of the Option 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(Option)

    Since:
    4.7.0
    See Also:
    for usage examples, Option
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      OptionStep2<A,​B> filter​(java.util.function.BiPredicate<? super A,​? super B> predicate)
      Apply the provided predicate with the previous step results.
      OptionStep2<A,​B> filterNot​(java.util.function.BiPredicate<? super A,​? super B> predicate)
      Apply the provided predicate with the previous step results.
      <C> OptionStep3<A,​B,​C> then​(java.util.function.BiFunction<? super A,​? super B,​? extends Option<? extends C>> functor)
      Apply the provided function with the previous Step results.
      <C> OptionStep3<A,​B,​C> then​(java.util.function.Supplier<? extends Option<? extends C>> supplier)
      Apply the provided supplier with the previous Step results.
      <Z> Option<Z> yield​(java.util.function.BiFunction<? super A,​? super B,​Z> functor)
      Terminating step expression, that will provide the previous steps to this function and return the result as a some
      • Methods inherited from class java.lang.Object

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

      • option1

        private final Option<A> option1
      • option2

        private final Option<B> option2
    • Constructor Detail

    • Method Detail

      • then

        public <C> OptionStep3<A,​B,​C> then​(java.util.function.BiFunction<? super A,​? super B,​? extends Option<? extends C>> functor)
        Apply the provided function with the previous Step results.

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

        Type Parameters:
        C - 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 <C> OptionStep3<A,​B,​C> then​(java.util.function.Supplier<? extends Option<? extends C>> supplier)
        Apply the provided supplier with the previous Step results.

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

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

        Type Parameters:
        C - 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 OptionStep2<A,​B> filter​(java.util.function.BiPredicate<? super A,​? super B> 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 none
      • filterNot

        public OptionStep2<A,​B> filterNot​(java.util.function.BiPredicate<? super A,​? super B> predicate)
        Apply the provided predicate with the previous step results.
        Parameters:
        predicate - The check that must be dissatisfied by contained values
        Returns:
        This step class with either the same last step value, or changed to none
        Since:
        6.1
      • yield

        public <Z> Option<Z> yield​(java.util.function.BiFunction<? super A,​? super B,​Z> functor)
        Terminating step expression, that will provide the previous steps to this function and return the result as a some
        Type Parameters:
        Z - The type for the returned result
        Parameters:
        functor - The yield function to map on previous values
        Returns:
        An Option containing this result or none