@Target(value=ANNOTATION_TYPE)
@Retention(value=RUNTIME)
@Documented
public @interface InterceptorBinding
Specifies that an annotation type is an interceptor binding type.
@Inherited @InterceptorBinding @Target({ TYPE, METHOD, CONSTRUCTOR }) @Retention(RUNTIME) public @interface Valid { }
Interceptor bindings are intermediate annotations that may be used to associate interceptors with target beans.
The interceptor bindings of an interceptor are specified by annotating the interceptor class with the binding types
and the Interceptor
annotation.
@Valid @Interceptor public class ValidationInterceptor { ... }
An interceptor may specify multiple interceptor bindings.
An interceptor binding of a bean may be declared by annotating the bean class, a method of the bean class, or a constructor of the bean class with the interceptor binding type.
@Valid public class Order { ... }
@Valid @Secure public void updateOrder(Order order) { ... }
@Valid public Order(...) { ... }
A bean class or method of a bean class may declare multiple interceptor bindings.
An interceptor binding type may declare other interceptor bindings.
@Inherited @InterceptorBinding @Target({ TYPE, METHOD }) @Retention(RUNTIME) @Valid public @interface Secure { }
Interceptor bindings are transitive—an interceptor binding declared by an interceptor binding type is inherited by all beans and other interceptor binding types that declare that interceptor binding type.
Interceptor