Package io.quarkus.arc
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 CDIBean
interface.- Author:
- Martin Kouba
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
InjectableBean.Kind
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default void
destroy(T instance, jakarta.enterprise.context.spi.CreationalContext<T> creationalContext)
default Integer
getAlternativePriority()
default InjectableBean<?>
getDeclaringBean()
String
getIdentifier()
The identifier is generated by the container and is unique for a specific deployment.default Class<?>
getImplementationClass()
The return value depends on thegetKind()
.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.default InjectableBean.Kind
getKind()
default String
getName()
default int
getPriority()
A bean may have a priority assigned.default Set<Annotation>
getQualifiers()
default Class<? extends Annotation>
getScope()
default Set<Class<? extends Annotation>>
getStereotypes()
Set<Type>
getTypes()
default boolean
isAlternative()
default boolean
isDefaultBean()
default boolean
isSuppressed()
Suppressed beans cannot be obtained by programmatic lookup viaInstance
.-
Methods inherited from interface io.quarkus.arc.InjectableReferenceProvider
get
-
-
-
-
Method Detail
-
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:
InjectableBean.Kind
-
getScope
default Class<? extends Annotation> getScope()
- Specified by:
getScope
in interfacejakarta.enterprise.inject.spi.BeanAttributes<T>
- Returns:
- the scope
-
getTypes
Set<Type> getTypes()
- Specified by:
getTypes
in interfacejakarta.enterprise.inject.spi.BeanAttributes<T>
- Returns:
- the set of bean types
-
getQualifiers
default Set<Annotation> getQualifiers()
- Specified by:
getQualifiers
in interfacejakarta.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 interfacejakarta.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 interfacejakarta.enterprise.inject.spi.BeanAttributes<T>
-
getStereotypes
default Set<Class<? extends Annotation>> getStereotypes()
- Specified by:
getStereotypes
in interfacejakarta.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 interfacejakarta.enterprise.inject.spi.Bean<T>
-
isAlternative
default boolean isAlternative()
- Specified by:
isAlternative
in interfacejakarta.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 viaInstance
.- 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 theAll
qualifier.- Returns:
- the priority
- See Also:
Priority
-
getImplementationClass
default Class<?> getImplementationClass()
The return value depends on thegetKind()
.- 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:
InjectableBean.Kind
-
-