An interceptor binding type may declare other interceptor bindings.
@Inherited
@InterceptorBinding
@Target(\{TYPE, METHOD})
@Retention(RUNTIME)
@Monitored
public @interface DataAccess \{}
Interceptor bindings are transitive—an interceptor binding declared by an interceptor binding type is inherited by all components and other interceptor binding types that declare that interceptor binding type.
An interceptor binding type can only be applied to an interceptor binding type defining a subset of its target types. For example, interceptor binding types declared Target(TYPE) may not be applied to interceptor binding types declared Target(\{TYPE, METHOD}).