Interceptor
Date: 2015-09-11

javax.enterprise.inject.spi

## Interface Interceptor<T>

- Type Parameters:
    `T` - the interceptor bean class
  All Superinterfaces:
    Bean<T>, Contextual<T>

      public interface Interceptor<T>
      extends Bean<T>

  Represents an enabled interceptor.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.util.Set<java.lang.annotation.Annotation>` | `getInterceptorBindings()` Obtains the interceptor bindings of the interceptor.
    `java.lang.Object` | `intercept(InterceptionType type, T instance, javax.interceptor.InvocationContext ctx)` Invokes the specified kind of lifecycle callback or method invocation interception upon the given interceptor instance.
    `boolean` | `intercepts(InterceptionType type)` Determines if the interceptor intercepts the specified kind of lifecycle callback or method invocation.

    - ### Methods inherited from interface javax.enterprise.inject.spi.Bean

      `getBeanClass, getInjectionPoints, getName, getQualifiers, getScope, getStereotypes, getTypes, isAlternative, isNullable`

    - ### Methods inherited from interface javax.enterprise.context.spi.Contextual

      `create, destroy`

- - ### Method Detail

    - #### getInterceptorBindings

          java.util.Set<java.lang.annotation.Annotation> getInterceptorBindings()

      Obtains the interceptor bindings of the interceptor.

      Returns:
        the set of interceptor bindings

    - #### intercepts

          boolean intercepts(InterceptionType type)

      Determines if the interceptor intercepts the specified kind of lifecycle callback or method invocation.

      Parameters:
        `type` - the kind of interception
      Returns:
        returns `true` if the interceptor intercepts callbacks or business methods of the given type, and `false` otherwise.

    - #### intercept

          java.lang.Object intercept(InterceptionType type,
                                   T instance,
                                   javax.interceptor.InvocationContext ctx)

      Invokes the specified kind of lifecycle callback or method invocation interception upon the given interceptor instance.

      Parameters:
        `type` - the kind of interception
        `instance` - the interceptor instance to invoke
        `ctx` - the context for the invocation
      Returns:
        the invocation return value