Skip to content

Commit 940f6b7

Browse files
committed
Update Failsafe.with to require at least one policy (for now).
1 parent b1ebfff commit 940f6b7

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

src/main/java/net/jodah/failsafe/Failsafe.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@
1717

1818
import net.jodah.failsafe.internal.util.Assert;
1919

20-
import java.util.Arrays;
20+
import java.util.ArrayList;
21+
import java.util.Collections;
2122
import java.util.List;
2223

2324
/**
@@ -47,13 +48,15 @@ public class Failsafe {
4748
*
4849
* @param <R> result type
4950
* @param <P> policy type
50-
* @throws NullPointerException if {@code policies} is null
51-
* @throws IllegalArgumentException if {@code policies} is empty
51+
* @throws NullPointerException if {@code outermostPolicy} is null
5252
*/
5353
@SafeVarargs
54-
public static <R, P extends Policy<R>> FailsafeExecutor<R> with(P... policies) {
55-
Assert.notNull(policies, "policies");
56-
return new FailsafeExecutor<>(Arrays.asList(policies));
54+
public static <R, P extends Policy<R>> FailsafeExecutor<R> with(P outermostPolicy, P... policies) {
55+
Assert.notNull(outermostPolicy, "outermostPolicy");
56+
List<Policy<R>> policyList = new ArrayList<>(policies.length + 1);
57+
policyList.add(outermostPolicy);
58+
Collections.addAll(policyList, policies);
59+
return new FailsafeExecutor<>(policyList);
5760
}
5861

5962
/**

0 commit comments

Comments
 (0)