Skip to content

Commit

Permalink
improved generics support
Browse files Browse the repository at this point in the history
  • Loading branch information
MammatusPlatypus committed Apr 9, 2016
1 parent 0d0b7ab commit 25ca3ae
Showing 1 changed file with 8 additions and 4 deletions.
12 changes: 8 additions & 4 deletions src/main/java/io/advantageous/reakt/promise/Promises.java
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,10 @@ static Promise<Void> all(Promise<?>... promises) {
* All promises must complete.
*
* @param promises promises
* @param <T> types of promise
* @return return containing promise
*/
static Promise<Void> all(List<Promise<?>> promises) {
static <T> Promise<Void> all(List<Promise<T>> promises) {
return new AllPromise(promises.toArray(new Promise[promises.size()]));
}

Expand All @@ -54,9 +55,10 @@ static Promise<Void> allBlocking(Promise<?>... promises) {
* All promises must complete.
*
* @param promises promises
* @param <T> types of promise
* @return return containing promise that is blocking.
*/
static Promise<Void> allBlocking(List<Promise<?>> promises) {
static <T> Promise<Void> allBlocking(List<Promise<T>> promises) {
return new AllBlockingPromise(promises.toArray(new Promise[promises.size()]));
}

Expand All @@ -78,9 +80,10 @@ static ReplayPromise<Void> allReplay(final Duration timeout, long time, Promise<
* @param timeout timeout
* @param time time
* @param promises promises
* @param <T> types of promise
* @return returns replay promise so promise can be replayed in caller's thread.
*/
static ReplayPromise<Void> allReplay(final Duration timeout, long time, List<Promise<?>> promises) {
static <T> ReplayPromise<Void> allReplay(final Duration timeout, long time, List<Promise<T>> promises) {
return new AllReplayPromise(timeout, time, promises.toArray(new Promise[promises.size()]));
}

Expand All @@ -101,9 +104,10 @@ static ReplayPromise<Void> allReplay(final Duration timeout, Promise<?>... promi
*
* @param timeout timeout
* @param promises promises
* @param <T> types of promise
* @return returns replay promise so promise can be replayed in caller's thread.
*/
static ReplayPromise<Void> allReplay(final Duration timeout, List<Promise<?>> promises) {
static <T> ReplayPromise<Void> allReplay(final Duration timeout, List<Promise<T>> promises) {
return allReplay(timeout, System.currentTimeMillis(), promises.toArray(new Promise[promises.size()]));
}

Expand Down

0 comments on commit 25ca3ae

Please sign in to comment.