The composite future wraps a list of futures, it is useful when several futures needs to be coordinated.

no subtypes hierarchy

Initializer
CompositeFuture(CompositeFuture unknown)
Inherited Attributes
Attributes inherited from: Object
hash, string
Methods
causeshared default Throwable cause(Integer index)

Returns a cause of a wrapped future

Parameters:
  • index

    the wrapped future index

completeshared actual default void complete(CompositeFuture result)

Set the result. Any handler will be called, if there is one, and the future will be marked as completed.

Parameters:
  • result

    the result

completershared actual default Anything(Throwable|CompositeFuture) completer()
composeshared actual default Future<U> compose<U>(Future<U>(CompositeFuture) mapper)

Compose this future with a mapper function.

When this future (the one on which compose is called) succeeds, the mapper will be called with the completed value and this mapper returns another future object. This returned future completion will complete the future returned by this method call.

If the mapper throws an exception, the returned future will be failed with this exception.

When this future fails, the failure will be propagated to the returned future and the mapper will not be called.

Parameters:
  • mapper

    the mapper function

composeshared actual default Future<U> compose<U>(Anything(CompositeFuture) handler, Future<U> next)

Compose this future with a provided next future.

When this (the one on which compose is called) future succeeds, the handler will be called with the completed value, this handler should complete the next future.

If the handler throws an exception, the returned future will be failed with this exception.

When this future fails, the failure will be propagated to the next future and the handler will not be called.

Parameters:
  • handler

    the handler

  • next

    the next future

failedshared default Boolean failed(Integer index)

Returns true if a wrapped future is failed

Parameters:
  • index

    the wrapped future index

isCompleteshared default Boolean isComplete(Integer index)

Returns true if a wrapped future is completed

Parameters:
  • index

    the wrapped future index

mapshared actual default Future<U> map<U>(U?(CompositeFuture) mapper)

Apply a mapper function on this future.

When this future succeeds, the mapper will be called with the completed value and this mapper returns a value. This value will complete the future returned by this method call.

If the mapper throws an exception, the returned future will be failed with this exception.

When this future fails, the failure will be propagated to the returned future and the mapper will not be called.

Parameters:
  • mapper

    the mapper function

Refines Future.map
resultshared actual default CompositeFuture result()

The result of the operation. This will be null if the operation failed.

resultAtshared default T? resultAt<T>(Integer index)

Returns the result of a wrapped future

Parameters:
  • index

    the wrapped future index

setHandlershared actual default CompositeFuture setHandler(Anything(Throwable|CompositeFuture) handler)

Set a handler for the result.

If the future has already been completed it will be called immediately. Otherwise it will be called when the future is completed.

sizeshared default Integer size()
succeededshared default Boolean succeeded(Integer index)

Returns true if a wrapped future is succeeded

Parameters:
  • index

    the wrapped future index

Inherited Methods
Methods inherited from: Future<T>
Methods inherited from: Object
equals