Class Compose<A>

  • Type Parameters:
    A - the future parameter type
    All Implemented Interfaces:
    Fn1<Monoid<A>,​Fn1<java.util.concurrent.CompletableFuture<A>,​Fn1<java.util.concurrent.CompletableFuture<A>,​java.util.concurrent.CompletableFuture<A>>>>, Fn2<Monoid<A>,​java.util.concurrent.CompletableFuture<A>,​Fn1<java.util.concurrent.CompletableFuture<A>,​java.util.concurrent.CompletableFuture<A>>>, Fn3<Monoid<A>,​java.util.concurrent.CompletableFuture<A>,​java.util.concurrent.CompletableFuture<A>,​java.util.concurrent.CompletableFuture<A>>, MonoidFactory<Monoid<A>,​java.util.concurrent.CompletableFuture<A>>, SemigroupFactory<Monoid<A>,​java.util.concurrent.CompletableFuture<A>>, Applicative<Fn1<java.util.concurrent.CompletableFuture<A>,​Fn1<java.util.concurrent.CompletableFuture<A>,​java.util.concurrent.CompletableFuture<A>>>,​Fn1<Monoid<A>,​?>>, Cartesian<Monoid<A>,​Fn1<java.util.concurrent.CompletableFuture<A>,​Fn1<java.util.concurrent.CompletableFuture<A>,​java.util.concurrent.CompletableFuture<A>>>,​Fn1<?,​?>>, Cocartesian<Monoid<A>,​Fn1<java.util.concurrent.CompletableFuture<A>,​Fn1<java.util.concurrent.CompletableFuture<A>,​java.util.concurrent.CompletableFuture<A>>>,​Fn1<?,​?>>, Contravariant<Monoid<A>,​Profunctor<?,​Fn1<java.util.concurrent.CompletableFuture<A>,​Fn1<java.util.concurrent.CompletableFuture<A>,​java.util.concurrent.CompletableFuture<A>>>,​Fn1<?,​?>>>, Functor<Fn1<java.util.concurrent.CompletableFuture<A>,​Fn1<java.util.concurrent.CompletableFuture<A>,​java.util.concurrent.CompletableFuture<A>>>,​Fn1<Monoid<A>,​?>>, Profunctor<Monoid<A>,​Fn1<java.util.concurrent.CompletableFuture<A>,​Fn1<java.util.concurrent.CompletableFuture<A>,​java.util.concurrent.CompletableFuture<A>>>,​Fn1<?,​?>>, Monad<Fn1<java.util.concurrent.CompletableFuture<A>,​Fn1<java.util.concurrent.CompletableFuture<A>,​java.util.concurrent.CompletableFuture<A>>>,​Fn1<Monoid<A>,​?>>, MonadReader<Monoid<A>,​Fn1<java.util.concurrent.CompletableFuture<A>,​Fn1<java.util.concurrent.CompletableFuture<A>,​java.util.concurrent.CompletableFuture<A>>>,​Fn1<Monoid<A>,​?>>, MonadRec<Fn1<java.util.concurrent.CompletableFuture<A>,​Fn1<java.util.concurrent.CompletableFuture<A>,​java.util.concurrent.CompletableFuture<A>>>,​Fn1<Monoid<A>,​?>>, MonadWriter<Monoid<A>,​Fn1<java.util.concurrent.CompletableFuture<A>,​Fn1<java.util.concurrent.CompletableFuture<A>,​java.util.concurrent.CompletableFuture<A>>>,​Fn1<Monoid<A>,​?>>

    public final class Compose<A>
    extends java.lang.Object
    implements MonoidFactory<Monoid<A>,​java.util.concurrent.CompletableFuture<A>>
    A Monoid instance formed by CompletableFuture<A> and a monoid over A. If either CompletableFutures completes exceptionally, the result is also an exceptionally completed future.

    Note that this operation only takes as long as the slowest future to complete.

    For the Semigroup, see Compose.

    • Field Detail

      • INSTANCE

        private static final Compose<?> INSTANCE
    • Constructor Detail

      • Compose

        private Compose()
    • Method Detail

      • checkedApply

        public Monoid<java.util.concurrent.CompletableFuture<A>> checkedApply​(Monoid<A> aMonoid)
        Description copied from interface: Fn2
        Invoke this function with the given argument, potentially throwing any Throwable.
        Specified by:
        checkedApply in interface Fn1<Monoid<A>,​Fn1<java.util.concurrent.CompletableFuture<A>,​Fn1<java.util.concurrent.CompletableFuture<A>,​java.util.concurrent.CompletableFuture<A>>>>
        Specified by:
        checkedApply in interface Fn2<Monoid<A>,​java.util.concurrent.CompletableFuture<A>,​Fn1<java.util.concurrent.CompletableFuture<A>,​java.util.concurrent.CompletableFuture<A>>>
        Specified by:
        checkedApply in interface MonoidFactory<Monoid<A>,​java.util.concurrent.CompletableFuture<A>>
        Specified by:
        checkedApply in interface SemigroupFactory<Monoid<A>,​java.util.concurrent.CompletableFuture<A>>
        Parameters:
        aMonoid - the argument
        Returns:
        the result of the function application
      • compose

        public static <A> Compose<A> compose()
      • compose

        public static <A> Monoid<java.util.concurrent.CompletableFuture<A>> compose​(Monoid<A> aMonoid)
      • compose

        public static <A> Fn1<java.util.concurrent.CompletableFuture<A>,​java.util.concurrent.CompletableFuture<A>> compose​(Monoid<A> aMonoid,
                                                                                                                                 java.util.concurrent.CompletableFuture<A> x)
      • compose

        public static <A> java.util.concurrent.CompletableFuture<A> compose​(Monoid<A> aMonoid,
                                                                            java.util.concurrent.CompletableFuture<A> x,
                                                                            java.util.concurrent.CompletableFuture<A> y)