diff options
author | Arne H Juul <arnej@yahoo-inc.com> | 2017-04-21 11:07:07 +0200 |
---|---|---|
committer | Arne H Juul <arnej@yahoo-inc.com> | 2017-04-21 11:14:10 +0200 |
commit | 177c00639772953220c87bc8d38c390d7d276db8 (patch) | |
tree | 88bb799d76cf75766d0904f2a1ae1f72dd390f9d /yolean | |
parent | 2ed281925061cc5d5f72174a3366c9505a5f25d2 (diff) |
use generics more
it seems Java has gotten better at type inference,
so we can make these functions with type parameters now.
Diffstat (limited to 'yolean')
-rw-r--r-- | yolean/src/main/java/com/yahoo/yolean/chain/Dependencies.java | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/yolean/src/main/java/com/yahoo/yolean/chain/Dependencies.java b/yolean/src/main/java/com/yahoo/yolean/chain/Dependencies.java index ca59c373351..520531c3ec2 100644 --- a/yolean/src/main/java/com/yahoo/yolean/chain/Dependencies.java +++ b/yolean/src/main/java/com/yahoo/yolean/chain/Dependencies.java @@ -35,10 +35,8 @@ public class Dependencies<T> { return new Dependencies<>(new Order<>(null, classes, null), Order.<T>emptyOrder(), null); } - @SuppressWarnings("unchecked") - public static Dependencies before(String... providedNames) { - // Does not use type parameters due to Javas limited type inference. - return new Dependencies(new Order(null, null, providedNames), Order.emptyOrder(), null); + public static <T> Dependencies<T> before(String... providedNames) { + return new Dependencies<>(new Order<T>(null, null, providedNames), Order.<T>emptyOrder(), null); } @SafeVarargs @@ -51,16 +49,12 @@ public class Dependencies<T> { return new Dependencies<>(Order.<T>emptyOrder(), new Order<>(null, classes, null), null); } - @SuppressWarnings("unchecked") - public static Dependencies after(String... providedNames) { - // Does not use type parameters due to Javas limited type inference. - return new Dependencies(Order.emptyOrder(), new Order(null, null, providedNames), null); + public static <T> Dependencies<T> after(String... providedNames) { + return new Dependencies<>(Order.<T>emptyOrder(), new Order<T>(null, null, providedNames), null); } - @SuppressWarnings("unchecked") - public static Dependencies provides(String... names) { - // Does not use type parameters due to Javas limited type inference. - return new Dependencies(Order.emptyOrder(), Order.emptyOrder(), names); + public static <T> Dependencies<T> provides(String... names) { + return new Dependencies<>(Order.<T>emptyOrder(), Order.<T>emptyOrder(), names); } public static <T> Dependencies<T> emptyDependencies() { |