Interface InjectableBean<T>

Type Parameters:
T -
All Superinterfaces:
jakarta.enterprise.inject.spi.Bean<T>, jakarta.enterprise.inject.spi.BeanAttributes<T>, jakarta.enterprise.context.spi.Contextual<T>, InjectableReferenceProvider<T>
All Known Subinterfaces:
InjectableDecorator<T>, InjectableInterceptor<T>
All Known Implementing Classes:
BeanManagerBean, BuiltInBean, EventBean, InitializedInterceptor, InjectionPointBean, InstanceBean

public interface InjectableBean<T> extends jakarta.enterprise.inject.spi.Bean<T>, InjectableReferenceProvider<T>
Quarkus representation of an injectable bean. This interface extends the standard CDI Bean interface.
Author:
Martin Kouba
  • Method Details

    • getIdentifier

      String getIdentifier()
      The identifier is generated by the container and is unique for a specific deployment.
      Returns:
      the identifier for this bean
    • getKind

      default InjectableBean.Kind getKind()
      Returns:
      the kind of the bean
      See Also:
    • getScope

      default Class<? extends Annotation> getScope()
      Specified by:
      getScope in interface jakarta.enterprise.inject.spi.BeanAttributes<T>
      Returns:
      the scope
    • getTypes

      Set<Type> getTypes()
      Specified by:
      getTypes in interface jakarta.enterprise.inject.spi.BeanAttributes<T>
      Returns:
      the set of bean types
    • getQualifiers

      default Set<Annotation> getQualifiers()
      Specified by:
      getQualifiers in interface jakarta.enterprise.inject.spi.BeanAttributes<T>
      Returns:
      the set of qualifiers
    • destroy

      default void destroy(T instance, jakarta.enterprise.context.spi.CreationalContext<T> creationalContext)
      Specified by:
      destroy in interface jakarta.enterprise.context.spi.Contextual<T>
    • getDeclaringBean

      default InjectableBean<?> getDeclaringBean()
      Returns:
      the declaring bean if the bean is a producer method/field, or null
    • getName

      default String getName()
      Specified by:
      getName in interface jakarta.enterprise.inject.spi.BeanAttributes<T>
    • getStereotypes

      default Set<Class<? extends Annotation>> getStereotypes()
      Specified by:
      getStereotypes in interface jakarta.enterprise.inject.spi.BeanAttributes<T>
    • getInjectionPoints

      default Set<jakarta.enterprise.inject.spi.InjectionPoint> getInjectionPoints()
      By default, this method always returns an empty set, because obtaining the set of injection points of a bean at application runtime is rarely useful.

      In the strict mode, this method works as described by the CDI specification. Feedback on usefulness of this method is welcome!

      Specified by:
      getInjectionPoints in interface jakarta.enterprise.inject.spi.Bean<T>
    • isAlternative

      default boolean isAlternative()
      Specified by:
      isAlternative in interface jakarta.enterprise.inject.spi.BeanAttributes<T>
    • getAlternativePriority

      default Integer getAlternativePriority()
      Returns:
      the priority if the bean is an alternative, or null
    • isDefaultBean

      default boolean isDefaultBean()
      Returns:
      whether or not the bean is a default bean
    • isSuppressed

      default boolean isSuppressed()
      Suppressed beans cannot be obtained by programmatic lookup via Instance.
      Returns:
      true if the bean should be suppressed
    • getPriority

      default int getPriority()
      A bean may have a priority assigned.

      Class-based beans can specify the priority declaratively via Priority. If no priority annotation is used then a bean has the priority of value 0.

      This priority is used to sort the resolved beans when performing programmatic lookup via Instance or when injecting a list of beans by means of the All qualifier.

      Returns:
      the priority
      See Also:
      • Priority
    • getImplementationClass

      default Class<?> getImplementationClass()
      The return value depends on the getKind().
      • For managed beans, interceptors, decorators and built-in beans, the bean class is returned.
      • For a producer method, the class of the return type is returned.
      • For a producer field, the class of the field is returned.
      • For a synthetic bean, the implementation class defined by the registrar is returned.
      Returns:
      the implementation class, or null in case of a producer of a primitive type or an array
      See Also: