Package io.vertx.core

## Interface CompositeFuture

- All Superinterfaces:
    `AsyncResult<CompositeFuture>`, `Future<CompositeFuture>`

      public interface CompositeFuture
      extends Future<CompositeFuture>

  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.
  Author:
    Julien Viet

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Throwable` | `cause​(int index)` | Returns a cause of a wrapped future
    `default List<Throwable>` | `causes()` |
    `boolean` | `failed​(int index)` | Returns true if a wrapped future is failed
    `boolean` | `isComplete​(int index)` | Returns true if a wrapped future is completed
    `default <T> List<T>` | `list()` |
    `CompositeFuture` | `onComplete​(Handler<AsyncResult<CompositeFuture>> handler)` | Add a handler to be notified of the result.
    `default CompositeFuture` | `onFailure​(Handler<? super Throwable> handler)` | Add a handler to be notified of the failed result.
    `default CompositeFuture` | `onSuccess​(Handler<? super CompositeFuture> handler)` | Add a handler to be notified of the succeeded result.
    `<T> T` | `resultAt​(int index)` | Returns the result of a wrapped future
    `int` | `size()` |
    `boolean` | `succeeded​(int index)` | Returns true if a wrapped future is succeeded

    - ### Methods inherited from interface io.vertx.core.Future

      `andThen, andThen, await, await, cause, compose, compose, eventually, expecting, failed, flatMap, isComplete, map, map, mapEmpty, onComplete, onComplete, otherwise, otherwise, otherwiseEmpty, recover, result, succeeded, timeout, toCompletionStage, transform, transform`

- - ### Method Detail

    - #### onComplete

          CompositeFuture onComplete​(Handler<AsyncResult<CompositeFuture>> handler)

      Description copied from interface: `Future`
      Add a handler to be notified of the result.

      WARNING: this is a terminal operation. If several `handler`s are registered, there is no guarantee that they will be invoked in order of registration.

      Specified by:
        `onComplete` in interface `Future<CompositeFuture>`
      Parameters:
        `handler` - the handler that will be called with the result
      Returns:
        a reference to this, so it can be used fluently

    - #### onSuccess

          default CompositeFuture onSuccess​(Handler<? super CompositeFuture> handler)

      Description copied from interface: `Future`
      Add a handler to be notified of the succeeded result.

      WARNING: this is a terminal operation. If several `handler`s are registered, there is no guarantee that they will be invoked in order of registration.

      Specified by:
        `onSuccess` in interface `Future<CompositeFuture>`
      Parameters:
        `handler` - the handler that will be called with the succeeded result
      Returns:
        a reference to this, so it can be used fluently

    - #### onFailure

          default CompositeFuture onFailure​(Handler<? super Throwable> handler)

      Description copied from interface: `Future`
      Add a handler to be notified of the failed result.

      WARNING: this is a terminal operation. If several `handler`s are registered, there is no guarantee that they will be invoked in order of registration.

      Specified by:
        `onFailure` in interface `Future<CompositeFuture>`
      Parameters:
        `handler` - the handler that will be called with the failed result
      Returns:
        a reference to this, so it can be used fluently

    - #### cause

          Throwable cause​(int index)

      Returns a cause of a wrapped future
      Parameters:
        `index` - the wrapped future index

    - #### succeeded

          boolean succeeded​(int index)

      Returns true if a wrapped future is succeeded
      Parameters:
        `index` - the wrapped future index

    - #### failed

          boolean failed​(int index)

      Returns true if a wrapped future is failed
      Parameters:
        `index` - the wrapped future index

    - #### isComplete

          boolean isComplete​(int index)

      Returns true if a wrapped future is completed
      Parameters:
        `index` - the wrapped future index

    - #### resultAt

          <T> T resultAt​(int index)

      Returns the result of a wrapped future
      Parameters:
        `index` - the wrapped future index

    - #### size

          int size()

      Returns:
        the number of wrapped future

    - #### list

          default <T> List<T> list()

      Returns:
        a list of the current completed values. If one future is not yet resolved or is failed, null will be used

    - #### causes

          default List<Throwable> causes()

      Returns:
        a list of all the eventual failure causes. If no future failed, returns a list of null values.