Promises
Date: 2016-06-25

org.osgi.util.promise

## Class Promises

- java.lang.Object
- - org.osgi.util.promise.Promises

-     public class Promises
      extends java.lang.Object

  Static helper methods for `Promise`s.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static <T,S extends T> Promise<java.util.List<T>>` | `all(java.util.Collection<Promise<S>> promises)` Create a new Promise that is a latch on the resolution of the specified Promises.
    `static <T> Promise<java.util.List<T>>` | `all(Promise<? extends T>... promises)` Create a new Promise that is a latch on the resolution of the specified Promises.
    `static <T> Promise<T>` | `failed(java.lang.Throwable failure)` Create a new Promise that has been resolved with the specified failure.
    `static <T> Promise<T>` | `resolved(T value)` Create a new Promise that has been resolved with the specified value.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### resolved

          public static <T> Promise<T> resolved(T value)

      Create a new Promise that has been resolved with the specified value.
      Type Parameters:
        `T` - The value type associated with the returned Promise.
      Parameters:
        `value` - The value of the resolved Promise.
      Returns:
        A new Promise that has been resolved with the specified value.

    - #### failed

          public static <T> Promise<T> failed(java.lang.Throwable failure)

      Create a new Promise that has been resolved with the specified failure.
      Type Parameters:
        `T` - The value type associated with the returned Promise.
      Parameters:
        `failure` - The failure of the resolved Promise. Must not be `null`.
      Returns:
        A new Promise that has been resolved with the specified failure.

    - #### all

          public static <T,S extends T> Promise<java.util.List<T>> all(java.util.Collection<Promise<S>> promises)

      Create a new Promise that is a latch on the resolution of the specified Promises.

      The new Promise acts as a gate and must be resolved after all of the specified Promises are resolved.

      Type Parameters:
        `T` - The value type of the List value associated with the returned Promise.
        `S` - A subtype of the value type of the List value associated with the returned Promise.
      Parameters:
        `promises` - The Promises which must be resolved before the returned Promise must be resolved. Must not be `null` and all of the elements in the collection must not be `null`.
      Returns:
        A Promise that is resolved only when all the specified Promises are resolved. The returned Promise must be successfully resolved with a List of the values in the order of the specified Promises if all the specified Promises are successfully resolved. The List in the returned Promise is the property of the caller and is modifiable. The returned Promise must be resolved with a failure of `FailedPromisesException` if any of the specified Promises are resolved with a failure. The failure `FailedPromisesException` must contain all of the specified Promises which resolved with a failure.

    - #### all

          public static <T> Promise<java.util.List<T>> all(Promise<? extends T>... promises)

      Create a new Promise that is a latch on the resolution of the specified Promises.

      The new Promise acts as a gate and must be resolved after all of the specified Promises are resolved.

      Type Parameters:
        `T` - The value type associated with the specified Promises.
      Parameters:
        `promises` - The Promises which must be resolved before the returned Promise must be resolved. Must not be `null` and all of the arguments must not be `null`.
      Returns:
        A Promise that is resolved only when all the specified Promises are resolved. The returned Promise must be successfully resolved with a List of the values in the order of the specified Promises if all the specified Promises are successfully resolved. The List in the returned Promise is the property of the caller and is modifiable. The returned Promise must be resolved with a failure of `FailedPromisesException` if any of the specified Promises are resolved with a failure. The failure `FailedPromisesException` must contain all of the specified Promises which resolved with a failure.