Базовый класс перехватчика шва - PullRequest
1 голос
/ 16 ноября 2010

Я экспериментирую с шовными перехватчиками. У меня есть пользовательская аннотация, определенная как:

@Target(TYPE)
@Retention(RUNTIME)
@Interceptors(SomeInterceptor.class)
public @interface MyInterceptAnnotation { }

и у меня есть суперкласс с аннотацией @ MyInterceptAnnotation

@MyInterceptAnnotation
MyAbstractSuperClass{...}

возможно перехватить все подклассы, полученные из MyAbstractSuperClass ?? С наилучшими пожеланиями

Ответы [ 2 ]

0 голосов
/ 22 февраля 2012

Вы можете аннотировать свою MyInterceptAnnotation с помощью @Inherited, в результате чего все подклассы MyAbstractSuperClass также будут перехвачены.

0 голосов
/ 16 ноября 2010

Нет, я полагаю. Вы можете попробовать это. Однако что-то можно сделать на уровне package, используя package-info.java. Таким образом, классы, принадлежащие этому конкретному пакету, будут перехвачены. Как ниже,

package-info.java

@MyInterceptAnnotation
package my.package.name;
import my.annotation.package.name.MyInterceptAnnotation;

Чтобы заставить подклассы определять аннотацию, посмотрите на этот поток .

Только что натолкнулся на связанную тему , но это примерно Spring. Интересно, есть ли у нас аналогичный способ в Seam. Вы можете попытаться выяснить.

...