0
如果我有一个接口IBaseFunction和这个接口的多个实现。 我如何可以遍历绑定拜访每一个方法,即Guice遍历多个绑定
public class MyModule extends AbstractModule {
@Override
protected void configure() {
bind(IBaseFunction.class).annotatedWith(ExDelete.class).to(ExDeleteFunction.class);
bind(IBaseFunction.class).annotatedWith(ExAdd.class).to(ExAddFunction.class);
...
}
}
我需要在每个绑定调用一个函数“发布()(使总线上可用的处理器)
我可以打电话在每个单独的功能结合这样的: -
ExDeleteFunction functionExDelete = injector.getInstance(ExDeleteFunction.class);
ExDeleteFunction.publish();
ExAddFunction functionExAdd = injector.getInstance(ExAddFunction.class);
ExAddFunction.publish();
不过,我想需要做的就是遍历这些,并呼吁所有的人的“发布”的功能是什么,有没有这样做的一种方式? 也许使用injector.getAllBindings()?像这样的东西: -
Injector injector = Guice.createInjector(new ServicesModule());
Map<Key<?>, Binding<?>> bindings = injector.getAllBindings();
for (Binding<?> binding : bindings.values()) {
Key<?> key = binding.getKey();
...??
还是有一个更简单的方法?