Annotation Type Registration
-
@Target(METHOD) @Retention(RUNTIME) public @interface Registration
3rd phase of build compatible extension execution. Allows observing registered beans and observers.This phase is executed twice. For non-synthetic beans and observers, this phase is executed before synthesis. For synthetic beans and observers, this phase is executed after synthesis.
In the following text, the term expected types denotes the set of types defined by the
types
member of the@Registration
annotation.Methods annotated
If a@Registration
must declare exactly one parameter of one of these types:@Registration
method has a parameter of typeBeanInfo
, the method is called once for each bean whose set of bean types contains at least one expected type.If the
@Registration
method has a parameter of typeInterceptorInfo
, the method is called once for each interceptor whose set of bean types contains at least one expected type.If the
@Registration
method has a parameter of typeObserverInfo
, the method is called once for each observer whose observed event type is assignable to at least one expected type.Note that interceptors are beans, and
InterceptorInfo
is a subtype ofBeanInfo
, so if the method has a parameter of typeBeanInfo
, it will be called for interceptors as well.If the
@Registration
method doesn't declare any parameter of one of these types, or if it declares more than one, the container treats it as a definition error.Additionally, methods annotated
@Registration
may declare parameters of these types:- Since:
- 4.0
-
-
Element Detail
-
types
Class<?>[] types
Defines the set of expected types.- Returns:
- the set of expected types
-
-