Я хочу иметь перехватчик Guice, который перехватывает вызовы либо к аннотируемому классу, либо к аннотируемому методу.Я хотел бы иметь возможность объединить оба, т.е.переопределить аннотацию класса с аннотацией метода с различными свойствами.
У меня это работает так:
// Intercept all METHODS annotated with @MyAnnotation
bindInterceptor(
Matchers.any(),
Matchers.annotatedWith(company.MyAnnotation),
new TracingInterceptor());
// Intercept all methods in CLASSES annotated with @MyAnnotation
bindInterceptor(
Matchers.annotatedWith(company.MyAnnotation),
Matchers.any(),
new TracingInterceptor());
Однако, когда я аннотирую такой класс:
@MyAnnotation
class MyClass {
@MyAnnotation
public void myMethod() {}
}
Перехватчик вызывается дважды, что плохо!
Есть ли способ избежать повторного запуска перехватчика, но с таким же поведением?