Отключение соответствия в Google Guice - PullRequest
1 голос
/ 31 января 2012

У меня в настоящее время есть 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?

Заранее спасибо!

1 Ответ

2 голосов
/ 31 января 2012

Разве это не будет проще?:

public void configure(Binder binder) {

    if(widgetInterceptionEnabled){
        binder.bindInterceptor(Matchers.any(), Matchers.any(),
            new WidgetInterceptor());
    }

}
...