我目前有一个Module
impl使用以下绑定:
binder.bindInterceptor(Matchers.any(), Matchers.any(),
new WidgetInterceptor());
我希望能够以编程方式打开/关闭此功能,这就是我已经准备的内容:
private boolean widgetInterceptionEnabled = true;
public void configure(Binder binder) {
Matcher<Object> matcher = null;
if(widgetInterceptionEnabled)
matcher = Matchers.any();
else
matcher = Matchers.not(Matchers.any());
binder.bindInterceptor(Matchers.any(), matcher,
new WidgetInterceptor());
}
这是告诉Guice不匹配任何东西的正确方法吗?还是我使用的API错误?
提前致谢!
最佳答案
这会不会更简单?:
public void configure(Binder binder) {
if(widgetInterceptionEnabled){
binder.bindInterceptor(Matchers.any(), Matchers.any(),
new WidgetInterceptor());
}
}