Success
Date: 2016-06-25

org.osgi.util.promise

## Interface Success<T,R>

- Type Parameters:
    `T` - The value type of the resolved Promise passed as input to this callback.
    `R` - The value type of the returned Promise from this callback.

      @ConsumerType
      public interface Success<T,R>

  Success callback for a Promise.

  A Success callback is registered with a `Promise` using the `Promise.then(Success)` method and is called if the Promise is resolved successfully.

  This is a functional interface and can be used as the assignment target for a lambda expression or method reference.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Promise<R>` | `call(Promise<T> resolved)` Success callback for a Promise.

- - ### Method Detail

    - #### call

          Promise<R> call(Promise<T> resolved)
                          throws java.lang.Exception

      Success callback for a Promise.

      This method is called if the Promise with which it is registered resolves successfully.

      In the remainder of this description we will refer to the Promise returned by this method as the returned Promise and the Promise returned by `Promise.then(Success)` when this Success callback was registered as the chained Promise.

      If the returned Promise is `null` then the chained Promise must resolve immediately with a successful value of `null`. If the returned Promise is not `null` then the chained Promise must be resolved when the returned Promise is resolved.

      Parameters:
        `resolved` - The successfully resolved `Promise`.
      Returns:
        The Promise to use to resolve the chained Promise, or `null` if the chained Promise is to be resolved immediately with the value `null`.
      Throws:
        `java.lang.Exception` - The chained Promise must be failed with the thrown exception.