javax.enterprise.inject.spi

## Interface AfterTypeDiscovery

-     public interface AfterTypeDiscovery

  This event type is thrown by the container after type discovery is complete. If any observer method of the `AfterTypeDiscovery` event throws an exception, the exception is treated as a definition error by the container.

  Any observer of this event is permitted to add classes to, or remove classes from, the list of alternatives, list of interceptors or list of decorators. The container will use the final values of these lists, after all observers have been called, to determine the enabled alternatives, interceptors, and decorators for application. Changes made to these lists after the invocation of the last observer method of the `AfterTypeDiscovery` are ignored.

  Since:
    1.1
  Author:
    Pete Muir

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addAnnotatedType(AnnotatedType<?> type, String id)` Adds a given `AnnotatedType` to the set of types which will be scanned during bean discovery.
    `List<Class<?>>` | `getAlternatives()`
    `List<Class<?>>` | `getDecorators()`
    `List<Class<?>>` | `getInterceptors()`

- - ### Method Detail

    - #### getAlternatives

          List<Class<?>> getAlternatives()

      Returns:
        the ordered list of enabled alternatives of the bean deployment archive
      Throws:
        `IllegalStateException` - if called outside of the observer method invocation

    - #### getInterceptors

          List<Class<?>> getInterceptors()

      Returns:
        the ordered list of enabled interceptors of the bean deployment archive.
      Throws:
        `IllegalStateException` - if called outside of the observer method invocation

    - #### getDecorators

          List<Class<?>> getDecorators()

      Returns:
        the ordered list of enabled decorators of the bean deployment archive
      Throws:
        `IllegalStateException` - if called outside of the observer method invocation

    - #### addAnnotatedType

          void addAnnotatedType(AnnotatedType<?> type,
                              String id)

      Adds a given `AnnotatedType` to the set of types which will be scanned during bean discovery.

      This method allows multiple annotated types, based on the same underlying type, to be defined. `AnnotatedType`s discovered by the container use the fully qualified class name of `AnnotatedType.getJavaClass()` to identify the type.

      `AfterBeanDiscovery.getAnnotatedType(Class, String)` and `AfterBeanDiscovery.getAnnotatedTypes(Class)` allows annotated types to be obtained by identifier.

      Parameters:
        `type` - The `AnnotatedType` to add for later scanning
      Throws:
        `IllegalStateException` - if called outside of the observer method invocation

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.