Bean
Date: 2015-09-11

javax.enterprise.inject.spi

## Interface Bean<T>

- Type Parameters:
    `T` - the class of the bean instance
  All Superinterfaces:
    Contextual<T>
  All Known Subinterfaces:
    Decorator<T>, Interceptor<T>

      public interface Bean<T>
      extends Contextual<T>

  Represents an enabled bean. This interface defines everything the container needs to manage instances of the bean.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.Class<?>` | `getBeanClass()` The bean class of the managed bean or session bean or of the bean that declares the producer method or field.
    `java.util.Set<InjectionPoint>` | `getInjectionPoints()` Obtains the `InjectionPoint` objects representing injection points of the bean, that will be validated by the container at initialization time.
    `java.lang.String` | `getName()` Obtains the EL name of a bean, if it has one.
    `java.util.Set<java.lang.annotation.Annotation>` | `getQualifiers()` Obtains the qualifiers of the bean.
    `java.lang.Class<? extends java.lang.annotation.Annotation>` | `getScope()` Obtains the scope of the bean.
    `java.util.Set<java.lang.Class<? extends java.lang.annotation.Annotation>>` | `getStereotypes()` Obtains the stereotypes of the bean.
    `java.util.Set<java.lang.reflect.Type>` | `getTypes()` Obtains the bean types of the bean.
    `boolean` | `isAlternative()` Determines if the bean is an alternative.
    `boolean` | `isNullable()` Determines if `Contextual.create(CreationalContext)` sometimes return a null value.

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

      `create, destroy`

- - ### Method Detail

    - #### getTypes

          java.util.Set<java.lang.reflect.Type> getTypes()

      Obtains the bean types of the bean.
      Returns:
        the bean types

    - #### getQualifiers

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

      Obtains the qualifiers of the bean.
      Returns:
        the qualifiers

    - #### getScope

          java.lang.Class<? extends java.lang.annotation.Annotation> getScope()

      Obtains the scope of the bean.
      Returns:
        the scope

    - #### getName

          java.lang.String getName()

      Obtains the EL name of a bean, if it has one.
      Returns:
        the EL name

    - #### getStereotypes

          java.util.Set<java.lang.Class<? extends java.lang.annotation.Annotation>> getStereotypes()

      Obtains the stereotypes of the bean.
      Returns:
        the set of stereotypes

    - #### getBeanClass

          java.lang.Class<?> getBeanClass()

      The bean class of the managed bean or session bean or of the bean that declares the producer method or field.
      Returns:
        the bean class

    - #### isAlternative

          boolean isAlternative()

      Determines if the bean is an alternative.
      Returns:
        `true` if the bean is an alternative, and `false` otherwise.

    - #### isNullable

          boolean isNullable()

      Determines if `Contextual.create(CreationalContext)` sometimes return a null value.
      Returns:
        `true` if the `create()` method may return a null value, and `false` otherwise

    - #### getInjectionPoints

          java.util.Set<InjectionPoint> getInjectionPoints()

      Obtains the `InjectionPoint` objects representing injection points of the bean, that will be validated by the container at initialization time.
      Returns:
        the set of injection points of the bean