Package io.vavr

Class API.ForLazy3Either<L,T1,T2,T3>

java.lang.Object
io.vavr.API.ForLazy3Either<L,T1,T2,T3>
Type Parameters:
L - the common left-hand type of all Eithers
T1 - the component type of the 1st Either
T2 - the component type of the 2nd Either
T3 - the component type of the 3rd Either
Enclosing class:
API

public static class API.ForLazy3Either<L,T1,T2,T3> extends Object
A lazily evaluated For-comprehension with three Eithers.

Constructed via For(...) and evaluated by calling yield(...). Construction is side-effect free; underlying Eithers are traversed only when yield(...) is invoked.

  • Method Details

    • yield

      public <R> Either<L,R> yield(@NonNull Function3<? super T1,? super T2,? super T3,? extends R> f)
      Produces results by mapping the Cartesian product of all bound values.

      Evaluation is lazy and delegated to the underlying Eithers by composing flatMap and map chains.

      Type Parameters:
      R - the element type of the resulting Either
      Parameters:
      f - a function mapping a tuple of bound values to a result
      Returns:
      an Either containing mapped results
      Throws:
      NullPointerException - if f is null