Interface BeanConfigurator<T>
- Type Parameters:
T
- the class of the bean instance
Bean
instance.
CDI container must provides an implementation of this interface.
This builder is not thread safe and shall not be used concurrently.
CDI Lite implementations are not required to provide support for Portable Extensions.
- Since:
- 2.0
- Author:
- Martin Kouba, Antoine Sabot-Durand
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionaddInjectionPoint
(InjectionPoint injectionPoint) Add an InjectionPoint to the configured beanaddInjectionPoints
(InjectionPoint... injectionPoints) Add InjectionPoints to the configured beanaddInjectionPoints
(Set<InjectionPoint> injectionPoints) Add InjectionPoints to the configured beanaddQualifier
(Annotation qualifier) Add a qualifier to the configured beanaddQualifiers
(Annotation... qualifiers) Add qualifiers to the bean.addQualifiers
(Set<Annotation> qualifiers) Add qualifiers to the bean.addStereotype
(Class<? extends Annotation> stereotype) Add a stereotype to the configured beanaddStereotypes
(Set<Class<? extends Annotation>> stereotypes) Add stereotypes to the configured beanaddTransitiveTypeClosure
(Type type) Adds an unrestricted set of bean types for the given type as if it represented a bean class of a managed bean.addType
(TypeLiteral<?> typeLiteral) Add a type to the bean typesAdd a type to the bean typesAdd types to the bean typesAdd types to the bean typesalternative
(boolean value) Change the alternative status of the configured bean.Set the class of the configured Bean.<U extends T>
BeanConfigurator<U>createWith
(Function<CreationalContext<U>, U> callback) Set a callback to create a bean instance.destroyWith
(BiConsumer<T, CreationalContext<T>> callback) Set a callback to destroy a bean instance.disposeWith
(BiConsumer<T, Instance<Object>> callback) Set a callback to destroy a bean instance.Make the configured bean implementsPassivationCapable
and its Id for passivation.injectionPoints
(InjectionPoint... injectionPoints) Replace InjectionPoints for the configured beaninjectionPoints
(Set<InjectionPoint> injectionPoints) Replace InjectionPoints for the configured beanSet the name of the configured beanpriority
(int priority) Set the priority of the configured bean.<U extends T>
BeanConfigurator<U>produceWith
(Function<Instance<Object>, U> callback) Set a callback to create a bean instance.qualifiers
(Annotation... qualifiers) Replace all qualifiers.qualifiers
(Set<Annotation> qualifiers) Replace all qualifiers.<U extends T>
BeanConfigurator<U>read
(AnnotatedType<U> type) Read the information from the given annotated type.read
(BeanAttributes<?> beanAttributes) Read the information from the given bean attributes.scope
(Class<? extends Annotation> scope) Replace Bean scopestereotypes
(Set<Class<? extends Annotation>> stereotypes) Replace stereotypes on the configured beanReplace bean typesReplace bean types
-
Method Details
-
beanClass
Set the class of the configured Bean. If not set, the extension class is used.- Parameters:
beanClass
- class of the configured bean- Returns:
- self
-
addInjectionPoint
Add an InjectionPoint to the configured bean- Parameters:
injectionPoint
- the injectionPoint to add- Returns:
- self
-
addInjectionPoints
Add InjectionPoints to the configured bean- Parameters:
injectionPoints
- the injectionPoints to add- Returns:
- self
-
addInjectionPoints
Add InjectionPoints to the configured bean- Parameters:
injectionPoints
- the injectionPoints to add- Returns:
- self
-
injectionPoints
Replace InjectionPoints for the configured bean- Parameters:
injectionPoints
- the injectionPoints for the configured bean- Returns:
- self
-
injectionPoints
Replace InjectionPoints for the configured bean- Parameters:
injectionPoints
- the injectionPoints for the configured bean- Returns:
- self
-
id
Make the configured bean implementsPassivationCapable
and its Id for passivation.- Parameters:
id
- for- Returns:
- self
- See Also:
-
createWith
Set a callback to create a bean instance.- Type Parameters:
U
- instance type- Parameters:
callback
- the callback to create the instance- Returns:
- self
- See Also:
-
produceWith
Set a callback to create a bean instance.The
Instance
argument might be used to simulate producer method parameter injection. However, dependent scoped bean instances obtained fromInstance
during the callback execution remain managed until the produced bean instance is destroyed. Therefore, applications are encouraged to always destroy unneeded dependent scoped bean instances obtained fromInstance
.- Type Parameters:
U
- instance type- Parameters:
callback
- the callback to create the instance- Returns:
- self
-
destroyWith
Set a callback to destroy a bean instance.If no destroy callback is specified, a NOOP callback is automatically set.
- Parameters:
callback
- the callback to destroy the instance- Returns:
- self
-
disposeWith
Set a callback to destroy a bean instance.If no dispose callback is specified, a NOOP callback is automatically set.
The
Instance
argument might be used to simulate disposer method parameter injection. All dependent scoped bean instances obtained fromInstance
during the callback execution are destroyed when the execution completes.- Parameters:
callback
- the callback to dispose the instance- Returns:
- self
-
read
Read the information from the given annotated type. All relevant information is overwritten.- Type Parameters:
U
- instance type- Parameters:
type
- class to read information from- Returns:
- self
-
read
Read the information from the given bean attributes. All relevant information is overwritten.- Parameters:
beanAttributes
- beanAttributes to read information from- Returns:
- self
-
addType
Add a type to the bean types- Parameters:
type
- the type to add- Returns:
- self
-
addType
Add a type to the bean types- Parameters:
typeLiteral
- the type to add- Returns:
- self
-
addTypes
Add types to the bean types- Parameters:
types
- types to add- Returns:
- self
-
addTypes
Add types to the bean types- Parameters:
types
- types to add- Returns:
- self
-
addTransitiveTypeClosure
Adds an unrestricted set of bean types for the given type as if it represented a bean class of a managed bean. Illegal bean types are omitted.- Parameters:
type
- to build the closure from- Returns:
- self
-
types
Replace bean types- Parameters:
types
- the types of the configured bean- Returns:
- self
-
types
Replace bean types- Parameters:
types
- the types of the configured bean- Returns:
- self
-
scope
Replace Bean scope- Parameters:
scope
- new scope for the configured bean- Returns:
- self
-
addQualifier
Add a qualifier to the configured bean- Parameters:
qualifier
- qualifier to add- Returns:
- self
-
addQualifiers
Add qualifiers to the bean.- Parameters:
qualifiers
- qualifiers to add- Returns:
- self
-
addQualifiers
Add qualifiers to the bean.- Parameters:
qualifiers
- qualifiers to add- Returns:
- self
-
qualifiers
Replace all qualifiers.- Parameters:
qualifiers
- qualifiers for the build bean- Returns:
- self
-
qualifiers
Replace all qualifiers.- Parameters:
qualifiers
- for the configured bean- Returns:
- self
-
addStereotype
Add a stereotype to the configured bean- Parameters:
stereotype
- stereotype to add- Returns:
- self
-
addStereotypes
Add stereotypes to the configured bean- Parameters:
stereotypes
- stereotypes to add- Returns:
- self
-
stereotypes
Replace stereotypes on the configured bean- Parameters:
stereotypes
- for the configured bean- Returns:
- self
-
name
Set the name of the configured bean- Parameters:
name
- name for the configured bean- Returns:
- self
-
alternative
Change the alternative status of the configured bean. By default the configured bean is not an alternative.- Parameters:
value
- value for alternative property- Returns:
- self
-
priority
Set the priority of the configured bean. By default, the configured bean does not have a priority.This is equivalent to putting the
Priority
annotation to an actual bean class or making a customBean
class implementPrioritized
.This method has no effect if the configured bean is not an alternative.
- Parameters:
priority
- the priority value- Returns:
- self
-