@@ -125,7 +125,7 @@ public static <T> Promise<List<T>> all(CompletionStage<? extends T>... promises)
125
125
}
126
126
127
127
128
- public static <T > Promise <List <T >> all (List <CompletionStage <? extends T >> promises ) {
128
+ public static <T > Promise <List <T >> all (List <? extends CompletionStage <? extends T >> promises ) {
129
129
return all (true , promises );
130
130
}
131
131
/**
@@ -149,7 +149,7 @@ public static <T> Promise<List<T>> all(boolean cancelRemaining, CompletionStage<
149
149
return all (cancelRemaining , Arrays .asList (promises ));
150
150
}
151
151
152
- public static <T > Promise <List <T >> all (boolean cancelRemaining , List <CompletionStage <? extends T >> promises ) {
152
+ public static <T > Promise <List <T >> all (boolean cancelRemaining , List <? extends CompletionStage <? extends T >> promises ) {
153
153
return atLeast (null != promises ? promises .size () : 0 , 0 , cancelRemaining , promises );
154
154
}
155
155
/**
@@ -171,7 +171,7 @@ public static <T> Promise<T> any(CompletionStage<? extends T>... promises) {
171
171
return any (Arrays .asList (promises ));
172
172
}
173
173
174
- public static <T > Promise <T > any (List <CompletionStage <? extends T >> promises ) {
174
+ public static <T > Promise <T > any (List <? extends CompletionStage <? extends T >> promises ) {
175
175
return any (true , promises );
176
176
}
177
177
/**
@@ -196,7 +196,7 @@ public static <T> Promise<T> any(boolean cancelRemaining, CompletionStage<? exte
196
196
return any (cancelRemaining , Arrays .asList (promises ));
197
197
}
198
198
199
- public static <T > Promise <T > any (boolean cancelRemaining , List <CompletionStage <? extends T >> promises ) {
199
+ public static <T > Promise <T > any (boolean cancelRemaining , List <? extends CompletionStage <? extends T >> promises ) {
200
200
int size = null == promises ? 0 : promises .size ();
201
201
switch (size ) {
202
202
case 0 :
@@ -234,7 +234,7 @@ public static <T> Promise<T> anyStrict(CompletionStage<? extends T>... promises)
234
234
return anyStrict (Arrays .asList (promises ));
235
235
}
236
236
237
- public static <T > Promise <T > anyStrict (List <CompletionStage <? extends T >> promises ) {
237
+ public static <T > Promise <T > anyStrict (List <? extends CompletionStage <? extends T >> promises ) {
238
238
return anyStrict (true , promises );
239
239
}
240
240
@@ -262,7 +262,7 @@ public static <T> Promise<T> anyStrict(boolean cancelRemaining, CompletionStage<
262
262
return anyStrict (cancelRemaining , Arrays .asList (promises ));
263
263
}
264
264
265
- public static <T > Promise <T > anyStrict (boolean cancelRemaining , List <CompletionStage <? extends T >> promises ) {
265
+ public static <T > Promise <T > anyStrict (boolean cancelRemaining , List <? extends CompletionStage <? extends T >> promises ) {
266
266
int size = null == promises ? 0 : promises .size ();
267
267
switch (size ) {
268
268
case 0 :
@@ -302,7 +302,7 @@ public static <T> Promise<List<T>> atLeast(int minResultsCount, CompletionStage<
302
302
return atLeast (minResultsCount , Arrays .asList (promises ));
303
303
}
304
304
305
- public static <T > Promise <List <T >> atLeast (int minResultsCount , List <CompletionStage <? extends T >> promises ) {
305
+ public static <T > Promise <List <T >> atLeast (int minResultsCount , List <? extends CompletionStage <? extends T >> promises ) {
306
306
return atLeast (minResultsCount , true , promises );
307
307
}
308
308
@@ -332,7 +332,7 @@ public static <T> Promise<List<T>> atLeast(int minResultsCount, boolean cancelRe
332
332
return atLeast (minResultsCount , cancelRemaining , Arrays .asList (promises ));
333
333
}
334
334
335
- public static <T > Promise <List <T >> atLeast (int minResultsCount , boolean cancelRemaining , List <CompletionStage <? extends T >> promises ) {
335
+ public static <T > Promise <List <T >> atLeast (int minResultsCount , boolean cancelRemaining , List <? extends CompletionStage <? extends T >> promises ) {
336
336
return atLeast (minResultsCount , (promises == null ? 0 : promises .size ()) - minResultsCount , cancelRemaining , promises );
337
337
}
338
338
@@ -360,7 +360,7 @@ public static <T> Promise<List<T>> atLeastStrict(int minResultsCount, Completion
360
360
return atLeastStrict (minResultsCount , Arrays .asList (promises ));
361
361
}
362
362
363
- public static <T > Promise <List <T >> atLeastStrict (int minResultsCount , List <CompletionStage <? extends T >> promises ) {
363
+ public static <T > Promise <List <T >> atLeastStrict (int minResultsCount , List <? extends CompletionStage <? extends T >> promises ) {
364
364
return atLeastStrict (minResultsCount , true , promises );
365
365
}
366
366
@@ -391,7 +391,7 @@ public static <T> Promise<List<T>> atLeastStrict(int minResultsCount, boolean ca
391
391
return atLeast (minResultsCount , cancelRemaining , Arrays .asList (promises ));
392
392
}
393
393
394
- public static <T > Promise <List <T >> atLeastStrict (int minResultsCount , boolean cancelRemaining , List <CompletionStage <? extends T >> promises ) {
394
+ public static <T > Promise <List <T >> atLeastStrict (int minResultsCount , boolean cancelRemaining , List <? extends CompletionStage <? extends T >> promises ) {
395
395
return atLeast (minResultsCount , 0 , cancelRemaining , promises );
396
396
}
397
397
@@ -428,7 +428,7 @@ public static <T> Promise<List<T>> atLeast(int minResultsCount, int maxErrorsCou
428
428
}
429
429
430
430
public static <T > Promise <List <T >> atLeast (int minResultsCount , int maxErrorsCount , boolean cancelRemaining ,
431
- List <CompletionStage <? extends T >> promises ) {
431
+ List <? extends CompletionStage <? extends T >> promises ) {
432
432
433
433
int size = null == promises ? 0 : promises .size ();
434
434
if (minResultsCount > size ) {
@@ -440,7 +440,8 @@ public static <T> Promise<List<T>> atLeast(int minResultsCount, int maxErrorsCou
440
440
} else if (minResultsCount == 0 ) {
441
441
return success (Collections .emptyList ());
442
442
} else if (size == 1 ) {
443
- return transform (promises .get (0 ), Collections ::singletonList , Promises ::wrapMultitargetException );
443
+ CompletionStage <? extends T > stage = promises .get (0 );
444
+ return transform (stage , Collections ::singletonList , Promises ::wrapMultitargetException );
444
445
} else {
445
446
return new AggregatingPromise <>(minResultsCount , maxErrorsCount , cancelRemaining , promises );
446
447
}
0 commit comments