3
Guice提供了查找給定類型的所有綁定(Injector#findBindingsByType)的方法,它還提供了一個TypeLiteral class,從中可以構建通配符類型。我想要做的是找到所有通過通配符類型參數化的類型的綁定,但我無法弄清楚如何去做。一看吉斯SRC暗示我可能會找錯了樹,但我想我會問問周圍反正...所以例如給出一種類型,Guice SPI:通過通配符類型查找綁定
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))));
任何想法都發現綁定?
乾杯 馬特
感謝您的指針,我有一個非常簡單的版本(基於上述)工作,適合我的直接需求,但我會嘗試做一個更一般的情況下,處理一些更多的情況,並將其張貼到列表。 – Matt 2009-07-10 23:31:24