BeforeBeanDiscovery
Date: 2015-09-11

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.

- - ### 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` | `addInterceptorBinding(java.lang.Class<? extends java.lang.annotation.Annotation> bindingType)` Declares an annotation type as an interceptor binding type, and specifies its meta-annotations.
    `void` | `addQualifier(java.lang.Class<? extends java.lang.annotation.Annotation> qualifier)` Declares an annotation type as a Qualifier qualifier type.
    `void` | `addScope(java.lang.Class<? extends java.lang.annotation.Annotation> scopeType, boolean normal, boolean passivating)` Declares an annotation type as a scope type.
    `void` | `addStereotype(java.lang.Class<? extends java.lang.annotation.Annotation> stereotype, java.lang.annotation.Annotation... stereotypeDef)` Declares an annotation type as a stereotype, and specifies its meta-annotations.

- - ### Method Detail

    - #### addQualifier

          void addQualifier(java.lang.Class<? extends java.lang.annotation.Annotation> qualifier)

      Declares an annotation type as a Qualifier qualifier type.
      Parameters:
        `qualifier` - The annotation to treat as a qualifier

    - #### addScope

          void addScope(java.lang.Class<? extends java.lang.annotation.Annotation> scopeType,
                      boolean normal,
                      boolean passivating)

      Declares an annotation type as a scope type.
      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

    - #### addStereotype

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

      Declares an annotation type as a stereotype, and specifies its meta-annotations.
      Parameters:
        `stereotype` - The annotation type to treat as a stereotype
        `stereotypeDef` - An optional list of annotations defining the stereotype

    - #### addInterceptorBinding

          void addInterceptorBinding(java.lang.Class<? extends java.lang.annotation.Annotation> bindingType)

      Declares an annotation type as an interceptor binding type, and specifies its meta-annotations.
      Parameters:
        `bindingType` - The annotation type to treat as an interceptor binding type

    - #### addAnnotatedType

          void addAnnotatedType(AnnotatedType<?> type)

      Adds a given `AnnotatedType` to the set of types which will be scanned during bean discovery.
      Parameters:
        `type` - The `AnnotatedType` to add for later scanning