## Uses of Class
play.libs.F.Promise

Packages that use F.Promise
play.jobs
play.libs
play.libs.ws
play.mvc

### Uses of F.Promise in play.jobs

Methods in play.jobs that return F.Promise
`F.Promise<V>` Job.`afterRequest()` If is called in a 'HttpRequest' invocation context, waits until request is served and schedules job then.
`F.Promise<V>` Job.`in(int seconds)` Start this job in several seconds
`F.Promise<V>` Job.`in(java.lang.String delay)` Start this job in several seconds
`F.Promise<V>` Job.`now()` Start this job now (well ASAP)

### Uses of F.Promise in play.libs

Subclasses of F.Promise in play.libs
`static class` `F.Timeout`

Fields in play.libs with type parameters of type F.Promise
`protected java.util.List<F.Action<F.Promise<V>>>` F.Promise.`callbacks`

Methods in play.libs that return F.Promise
`F.Promise<WS.HttpResponse>` WS.WSRequest.`deleteAsync()` Execute a DELETE request asynchronously.
`F.Promise<WS.HttpResponse>` WS.WSRequest.`getAsync()` Execute a GET request asynchronously.
`F.Promise<WS.HttpResponse>` WS.WSRequest.`headAsync()` Execute a HEAD request asynchronously.
`F.Promise<T>` F.EventStream.`nextEvent()`
`F.Promise<T>` F.BlockingEventStream.`nextEvent()`
`F.Promise<java.util.List<F.IndexedEvent<T>>>` F.ArchivedEventStream.`nextEvents(long lastEventSeen)`
`F.Promise<WS.HttpResponse>` WS.WSRequest.`optionsAsync()` Execute a OPTIONS request asynchronously.
`F.Promise<WS.HttpResponse>` WS.WSRequest.`patchAsync()` Execute a PATCH request asynchronously.
`F.Promise<WS.HttpResponse>` WS.WSRequest.`postAsync()` Execute a POST request asynchronously.
`F.Promise<WS.HttpResponse>` WS.WSRequest.`putAsync()` Execute a PUT request asynchronously.
`F.Promise<WS.HttpResponse>` WS.WSRequest.`traceAsync()` Execute a TRACE request asynchronously.
`static <A,B> F.Promise<F.Tuple<A,B>>` F.Promise.`wait2(F.Promise<A> tA, F.Promise<B> tB)`
`static <A,B,C> F.Promise<F.T3<A,B,C>>` F.Promise.`wait3(F.Promise<A> tA, F.Promise<B> tB, F.Promise<C> tC)`
`static <A,B,C,D> F.Promise<F.T4<A,B,C,D>>` F.Promise.`wait4(F.Promise<A> tA, F.Promise<B> tB, F.Promise<C> tC, F.Promise<D> tD)`
`static <A,B,C,D,E> F.Promise<F.T5<A,B,C,D,E>>` F.Promise.`wait5(F.Promise<A> tA, F.Promise<B> tB, F.Promise<C> tC, F.Promise<D> tD, F.Promise<E> tE)`
`static <T> F.Promise<java.util.List<T>>` F.Promise.`waitAll(java.util.Collection<F.Promise<T>> promises)`
`static <T> F.Promise<java.util.List<T>>` F.Promise.`waitAll(F.Promise<T>... promises)`
`static <T> F.Promise<T>` F.Promise.`waitAny(F.Promise<T>... futures)`
`static <A,B> F.Promise<F.Either<A,B>>` F.Promise.`waitEither(F.Promise<A> tA, F.Promise<B> tB)`
`static <A,B,C> F.Promise<F.E3<A,B,C>>` F.Promise.`waitEither(F.Promise<A> tA, F.Promise<B> tB, F.Promise<C> tC)`
`static <A,B,C,D> F.Promise<F.E4<A,B,C,D>>` F.Promise.`waitEither(F.Promise<A> tA, F.Promise<B> tB, F.Promise<C> tC, F.Promise<D> tD)`
`static <A,B,C,D,E> F.Promise<F.E5<A,B,C,D,E>>` F.Promise.`waitEither(F.Promise<A> tA, F.Promise<B> tB, F.Promise<C> tC, F.Promise<D> tD, F.Promise<E> tE)`

Methods in play.libs with parameters of type F.Promise
`static <A,B> F.Promise<F.Tuple<A,B>>` F.Promise.`wait2(F.Promise<A> tA, F.Promise<B> tB)`
`static <A,B> F.Promise<F.Tuple<A,B>>` F.Promise.`wait2(F.Promise<A> tA, F.Promise<B> tB)`
`static <A,B,C> F.Promise<F.T3<A,B,C>>` F.Promise.`wait3(F.Promise<A> tA, F.Promise<B> tB, F.Promise<C> tC)`
`static <A,B,C> F.Promise<F.T3<A,B,C>>` F.Promise.`wait3(F.Promise<A> tA, F.Promise<B> tB, F.Promise<C> tC)`
`static <A,B,C> F.Promise<F.T3<A,B,C>>` F.Promise.`wait3(F.Promise<A> tA, F.Promise<B> tB, F.Promise<C> tC)`
`static <A,B,C,D> F.Promise<F.T4<A,B,C,D>>` F.Promise.`wait4(F.Promise<A> tA, F.Promise<B> tB, F.Promise<C> tC, F.Promise<D> tD)`
`static <A,B,C,D> F.Promise<F.T4<A,B,C,D>>` F.Promise.`wait4(F.Promise<A> tA, F.Promise<B> tB, F.Promise<C> tC, F.Promise<D> tD)`
`static <A,B,C,D> F.Promise<F.T4<A,B,C,D>>` F.Promise.`wait4(F.Promise<A> tA, F.Promise<B> tB, F.Promise<C> tC, F.Promise<D> tD)`
`static <A,B,C,D> F.Promise<F.T4<A,B,C,D>>` F.Promise.`wait4(F.Promise<A> tA, F.Promise<B> tB, F.Promise<C> tC, F.Promise<D> tD)`
`static <A,B,C,D,E> F.Promise<F.T5<A,B,C,D,E>>` F.Promise.`wait5(F.Promise<A> tA, F.Promise<B> tB, F.Promise<C> tC, F.Promise<D> tD, F.Promise<E> tE)`
`static <A,B,C,D,E> F.Promise<F.T5<A,B,C,D,E>>` F.Promise.`wait5(F.Promise<A> tA, F.Promise<B> tB, F.Promise<C> tC, F.Promise<D> tD, F.Promise<E> tE)`
`static <A,B,C,D,E> F.Promise<F.T5<A,B,C,D,E>>` F.Promise.`wait5(F.Promise<A> tA, F.Promise<B> tB, F.Promise<C> tC, F.Promise<D> tD, F.Promise<E> tE)`
`static <A,B,C,D,E> F.Promise<F.T5<A,B,C,D,E>>` F.Promise.`wait5(F.Promise<A> tA, F.Promise<B> tB, F.Promise<C> tC, F.Promise<D> tD, F.Promise<E> tE)`
`static <A,B,C,D,E> F.Promise<F.T5<A,B,C,D,E>>` F.Promise.`wait5(F.Promise<A> tA, F.Promise<B> tB, F.Promise<C> tC, F.Promise<D> tD, F.Promise<E> tE)`
`static <T> F.Promise<java.util.List<T>>` F.Promise.`waitAll(F.Promise<T>... promises)`
`static <T> F.Promise<T>` F.Promise.`waitAny(F.Promise<T>... futures)`
`static <A,B> F.Promise<F.Either<A,B>>` F.Promise.`waitEither(F.Promise<A> tA, F.Promise<B> tB)`
`static <A,B> F.Promise<F.Either<A,B>>` F.Promise.`waitEither(F.Promise<A> tA, F.Promise<B> tB)`
`static <A,B,C> F.Promise<F.E3<A,B,C>>` F.Promise.`waitEither(F.Promise<A> tA, F.Promise<B> tB, F.Promise<C> tC)`
`static <A,B,C> F.Promise<F.E3<A,B,C>>` F.Promise.`waitEither(F.Promise<A> tA, F.Promise<B> tB, F.Promise<C> tC)`
`static <A,B,C> F.Promise<F.E3<A,B,C>>` F.Promise.`waitEither(F.Promise<A> tA, F.Promise<B> tB, F.Promise<C> tC)`
`static <A,B,C,D> F.Promise<F.E4<A,B,C,D>>` F.Promise.`waitEither(F.Promise<A> tA, F.Promise<B> tB, F.Promise<C> tC, F.Promise<D> tD)`
`static <A,B,C,D> F.Promise<F.E4<A,B,C,D>>` F.Promise.`waitEither(F.Promise<A> tA, F.Promise<B> tB, F.Promise<C> tC, F.Promise<D> tD)`
`static <A,B,C,D> F.Promise<F.E4<A,B,C,D>>` F.Promise.`waitEither(F.Promise<A> tA, F.Promise<B> tB, F.Promise<C> tC, F.Promise<D> tD)`
`static <A,B,C,D> F.Promise<F.E4<A,B,C,D>>` F.Promise.`waitEither(F.Promise<A> tA, F.Promise<B> tB, F.Promise<C> tC, F.Promise<D> tD)`
`static <A,B,C,D,E> F.Promise<F.E5<A,B,C,D,E>>` F.Promise.`waitEither(F.Promise<A> tA, F.Promise<B> tB, F.Promise<C> tC, F.Promise<D> tD, F.Promise<E> tE)`
`static <A,B,C,D,E> F.Promise<F.E5<A,B,C,D,E>>` F.Promise.`waitEither(F.Promise<A> tA, F.Promise<B> tB, F.Promise<C> tC, F.Promise<D> tD, F.Promise<E> tE)`
`static <A,B,C,D,E> F.Promise<F.E5<A,B,C,D,E>>` F.Promise.`waitEither(F.Promise<A> tA, F.Promise<B> tB, F.Promise<C> tC, F.Promise<D> tD, F.Promise<E> tE)`
`static <A,B,C,D,E> F.Promise<F.E5<A,B,C,D,E>>` F.Promise.`waitEither(F.Promise<A> tA, F.Promise<B> tB, F.Promise<C> tC, F.Promise<D> tD, F.Promise<E> tE)`
`static <A,B,C,D,E> F.Promise<F.E5<A,B,C,D,E>>` F.Promise.`waitEither(F.Promise<A> tA, F.Promise<B> tB, F.Promise<C> tC, F.Promise<D> tD, F.Promise<E> tE)`

Method parameters in play.libs with type arguments of type F.Promise
`void` F.Promise.`onRedeem(F.Action<F.Promise<V>> callback)` Registers an action that is to be invoked after this promise is invoked.
`static <T> F.Promise<java.util.List<T>>` F.Promise.`waitAll(java.util.Collection<F.Promise<T>> promises)`

### Uses of F.Promise in play.libs.ws

Methods in play.libs.ws that return F.Promise
`F.Promise<WS.HttpResponse>` WSAsync.WSAsyncRequest.`deleteAsync()` Execute a DELETE request asynchronously.
`F.Promise<WS.HttpResponse>` WSAsync.WSAsyncRequest.`getAsync()` Execute a GET request asynchronously.
`F.Promise<WS.HttpResponse>` WSAsync.WSAsyncRequest.`headAsync()` Execute a HEAD request asynchronously.
`F.Promise<WS.HttpResponse>` WSAsync.WSAsyncRequest.`optionsAsync()` Execute a OPTIONS request asynchronously.
`F.Promise<WS.HttpResponse>` WSAsync.WSAsyncRequest.`patchAsync()` Execute a PATCH request asynchronously.
`F.Promise<WS.HttpResponse>` WSAsync.WSAsyncRequest.`postAsync()` Execute a POST request asynchronously.
`F.Promise<WS.HttpResponse>` WSAsync.WSAsyncRequest.`putAsync()` Execute a PUT request asynchronously.
`F.Promise<WS.HttpResponse>` WSAsync.WSAsyncRequest.`traceAsync()` Execute a TRACE request asynchronously.

### Uses of F.Promise in play.mvc

Methods in play.mvc that return F.Promise
`F.Promise<Http.WebSocketEvent>` Http.Inbound.`nextEvent()`