Guiceは、特定のタイプ(Injector#findBindingsByType )のすべてのバインディングを検索する手段を提供し、ワイルドカードタイプを構築できると思われるTypeLiteralクラスも提供します。私がやりたいのは、ワイルドカード型によってパラメータ化されたいくつかの型のすべてのバインディングを見つけることですが、それを行う方法がわかりません。guice srcを見ると、間違った木を吠えている可能性がありますが、とにかく尋ねると思いました...たとえば、タイプを指定すると
Foo<E extends Bar>
BarImplOne implements Bar
BarImplTwo implements Bar
とのようないくつかのバインディング
bind(new TypeLiteral<Foo<BarImplOne>>() {}).to(MyFooOne.class);
bind(new TypeLiteral<Foo<BarImplTwo>>() {}).to(MyFooTwo.class);
次に、次のようなもので両方のバインディングを検出できるようにしたい
Injector.findBindingsByType(TypeLiteral.get(Types.newParameterizedType(Foo.class, Types.subtypeOf(Bar.class))));
何か案は?
乾杯マット