javax.enterprise.inject.spi

## Interface BeforeBeanDiscovery

-     public interface BeforeBeanDiscovery

  This event type is thrown by the container before the bean discovery process begins. If any observer method of the `BeforeBeanDiscovery` event throws an exception, the exception is treated as a definition error by the container.

  Author:
    Pete Muir, David Allen

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addAnnotatedType(AnnotatedType<?> type)` Adds a given `AnnotatedType` to the set of types which will be scanned during bean discovery.
    `void` | `addAnnotatedType(AnnotatedType<?> type, String id)` Adds a given `AnnotatedType` to the set of types which will be scanned during bean discovery.
    `void` | `addInterceptorBinding(AnnotatedType<? extends Annotation> bindingType)` Declares an annotation type as an interceptor binding type.
    `void` | `addInterceptorBinding(Class<? extends Annotation> bindingType, Annotation... bindingTypeDef)` Declares an annotation type as an interceptor binding type, and specifies its meta-annotations.
    `void` | `addQualifier(AnnotatedType<? extends Annotation> qualifier)` Declares an annotation type as a Qualifier qualifier type.
    `void` | `addQualifier(Class<? extends Annotation> qualifier)` Declares an annotation type as a Qualifier qualifier type.
    `void` | `addScope(Class<? extends Annotation> scopeType, boolean normal, boolean passivating)` Declares an annotation type as a scope type.
    `void` | `addStereotype(Class<? extends Annotation> stereotype, Annotation... stereotypeDef)` Declares an annotation type as a stereotype, and specifies its meta-annotations.

- - ### Method Detail

    - #### addQualifier

          void addQualifier(Class<? extends Annotation> qualifier)

      Declares an annotation type as a Qualifier qualifier type.

      This is only required if you wish to make an annotation a qualifier without adding `Qualifier` to it.

      Parameters:
        `qualifier` - The annotation to treat as a qualifier
      Throws:
        `IllegalStateException` - if called outside of the observer method invocation

    - #### addQualifier

          void addQualifier(AnnotatedType<? extends Annotation> qualifier)

      Declares an annotation type as a Qualifier qualifier type.

      This is only required if you wish to make an annotation a qualifier without adding `Qualifier` to it.

      Parameters:
        `qualifier` - The annotation to treat as a qualifier
      Throws:
        `IllegalStateException` - if called outside of the observer method invocation
      Since:
        1.1

    - #### addScope

          void addScope(Class<? extends Annotation> scopeType,
                      boolean normal,
                      boolean passivating)

      Declares an annotation type as a scope type.

      This is only required if you wish to make an annotation a scope type without adding the `NormalScope` or `Scope` annotations to it. You can also use this method to override an existing normal scope definition.

      Parameters:
        `scopeType` - The annotation type to treat as a scope type
        `normal` - Indicates if the scope is normal
        `passivating` - Indicates if the scope is passivation capable
      Throws:
        `IllegalStateException` - if called outside of the observer method invocation
      See Also:
        `AfterBeanDiscovery.addContext(javax.enterprise.context.spi.Context)`

    - #### addStereotype

          void addStereotype(Class<? extends Annotation> stereotype,
                           Annotation... stereotypeDef)

      Declares an annotation type as a stereotype, and specifies its meta-annotations.

      This is only required if you wish to make an annotation a stereotype without adding `Stereotype` to it. You can also use this method to override an existing stereotype definition.

      Parameters:
        `stereotype` - The annotation type to treat as a stereotype
        `stereotypeDef` - An optional list of annotations defining the stereotype
      Throws:
        `IllegalStateException` - if called outside of the observer method invocation

    - #### addInterceptorBinding

          void addInterceptorBinding(AnnotatedType<? extends Annotation> bindingType)

      Declares an annotation type as an interceptor binding type.

      This is only required if you wish to make an annotation an interceptor binding type without adding `InterceptorBinding` to it.

      Parameters:
        `bindingType` - The annotation type to treat as an interceptor binding type
      Throws:
        `IllegalStateException` - if called outside of the observer method invocation

    - #### addInterceptorBinding

          void addInterceptorBinding(Class<? extends Annotation> bindingType,
                                   Annotation... bindingTypeDef)

      Declares an annotation type as an interceptor binding type, and specifies its meta-annotations.

      This is only required if you wish to make an annotation an interceptor binding type without adding `InterceptorBinding` to it.

      Parameters:
        `bindingType` - The annotation type to treat as an interceptor binding type
        `bindingTypeDef` - An optional list of annotations defining the interceptor
      Throws:
        `IllegalStateException` - if called outside of the observer method invocation
      Since:
        1.1

    - #### addAnnotatedType

          void addAnnotatedType(AnnotatedType<?> type)

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

      This method is deprecated from CDI 1.1 and `addAnnotatedType(AnnotatedType, String)` should be used instead.

      Parameters:
        `type` - The `AnnotatedType` to add for later scanning
      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
        `id` - The id of the annotated type
      Throws:
        `IllegalStateException` - if called outside of the observer method invocation
      Since:
        1.1

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