Represents the result of an action that may, or may not, have occurred yet.

- `Anything`
  - `Object`
    - `Basic` ...and other supertypes
      - `Future`

- `Future`
  - `Basic`
    - `Identifiable`
    - `Object`
      - `Anything`

- `Future`
  - `CompositeFuture`

Initializer
`Future(Future<out Object> unknown)`

Inherited Attributes
Attributes inherited from: `Object` `hash`, `string`

Methods
`cause` | `shared default Throwable cause()` A Throwable describing failure. This will be null if the operation succeeded.
`complete` | `shared default void complete()` Set a null result. Any handler will be called, if there is one, and the future will be marked as completed.
`complete` | `shared default void complete(T? 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
`completer` | `shared default Anything(Throwable|T?) completer()`
`compose` | `shared default Future<U> compose<U>(Future<U>(T?) 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
`compose` | `shared default Future<U> compose<U>(Anything(T?) 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
`fail` | `shared default void fail(String failureMessage)` Set the failure. Any handler will be called, if there is one, and the future will be marked as completed. Parameters: `failureMessage` the failure message
`fail` | `shared default void fail(Throwable throwable)` Set the failure. Any handler will be called, if there is one, and the future will be marked as completed. Parameters: `throwable` the failure cause
`failed` | `shared default Boolean failed()` Did it fail?
`isComplete` | `shared default Boolean isComplete()` Has the future completed? It's completed if it's either succeeded or failed.
`map` | `shared default Future<U> map<U>(U?(T?) 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
`map` | `shared default Future<V> map<V>(V? value)` Map the result of a future to a specific `value`. When this future succeeds, this `value` will complete the future returned by this method call. When this future fails, the failure will be propagated to the returned future. Parameters: `value` the value that eventually completes the mapped future
`result` | `shared default T? result()` The result of the operation. This will be null if the operation failed.
`setHandler` | `shared default Future<T> setHandler(Anything(Throwable|T?) 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. Parameters: `handler` the Handler that will be called with the result
`succeeded` | `shared default Boolean succeeded()` Did it succeed?

Inherited Methods
Methods inherited from: `Object` `equals`