The composite future wraps a list of futures, it is useful when several futures needs to be coordinated. The handlers set for the coordinated futures are overridden by the handler of the composite future.

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()

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

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
otherwiseshared actual default Future<CompositeFuture> otherwise(CompositeFuture value)

Map the failure of a future to a specific value.

When this future fails, this value will complete the future returned by this method call.

When this future succeeds, the result will be propagated to the returned future.

Parameters:
  • value

    the value that eventually completes the mapped future

otherwiseshared actual default Future<CompositeFuture> otherwise(CompositeFuture(Throwable) mapper)

Apply a mapper function on this future.

When this future fails, 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 succeeds, the result will be propagated to the returned future and the mapper will not be called.

Parameters:
  • mapper

    the mapper function

otherwiseEmptyshared actual default Future<CompositeFuture> otherwiseEmpty()

Map the failure of a future to null.

This is a convenience for future.otherwise((T) null).

When this future fails, the null value will complete the future returned by this method call.

When this future succeeds, the result will be propagated to the returned future.

recovershared actual default Future<CompositeFuture> recover(Future<CompositeFuture>(Throwable) mapper)

Handles a failure of this Future by returning the result of another Future. If the mapper fails, then the returned future will be failed with this failure.

Parameters:
  • mapper

    A function which takes the exception of a failure and returns a new future.

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

tryCompleteshared actual default Boolean tryComplete()

Try to set this instance as result. When it happens, any handler will be called, if there is one, and the future will be marked as completed.

tryCompleteshared actual default Boolean tryComplete(CompositeFuture result)

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

Parameters:
  • result

    the result

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