Package io.vavr

Class API.ForLazy4Either<L,​T1,​T2,​T3,​T4>

  • 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
    T4 - the component type of the 4th Either
    Enclosing class:
    API

    public static class API.ForLazy4Either<L,​T1,​T2,​T3,​T4>
    extends java.lang.Object
    A lazily evaluated For-comprehension with 4 Eithers.

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

    • Method Detail

      • yield

        public <R> Either<L,​R> yield​(@NonNull Function4<? super T1,​? super T2,​? super T3,​? super T4,​? 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:
        java.lang.NullPointerException - if f is null