Interface SyntheticBeanBuilder<T>
- Type Parameters:
T
- the bean class of this synthetic bean
SyntheticComponents.addBean(Class)
.- Since:
- 4.0
-
Method Summary
Modifier and TypeMethodDescriptionalternative
(boolean isAlternative) Marks this synthetic bean as an alternative if desired.createWith
(Class<? extends SyntheticBeanCreator<T>> creatorClass) Sets the class of the synthetic bean creation function.disposeWith
(Class<? extends SyntheticBeanDisposer<T>> disposerClass) Sets the class of the synthetic bean destruction function.Sets the bean name of this synthetic bean.priority
(int priority) Sets a priority of this synthetic bean.qualifier
(AnnotationInfo qualifierAnnotation) Adds given annotation to the set of qualifiers of this synthetic bean.qualifier
(Annotation qualifierAnnotation) Adds given annotation to the set of qualifiers of this synthetic bean.qualifier
(Class<? extends Annotation> annotationType) Adds a marker annotation of given type to the set of qualifiers of this synthetic bean.scope
(Class<? extends Annotation> scopeAnnotation) Sets the scope of this synthetic bean to given scope type.stereotype
(ClassInfo stereotypeAnnotation) AddsstereotypeAnnotation
to the set of stereotypes of this synthetic bean.stereotype
(Class<? extends Annotation> stereotypeAnnotation) AddsstereotypeAnnotation
to the set of stereotypes of this synthetic bean.Addstype
to the set of bean types of this synthetic bean.Addstype
to the set of bean types of this synthetic bean.Addstype
to the set of bean types of this synthetic bean.Adds aboolean
-valued parameter to the parameter map.Adds aboolean
array-valued parameter to the parameter map.Adds adouble
-valued parameter to the parameter map.Adds adouble
array-valued parameter to the parameter map.Adds anint
-valued parameter to the parameter map.Adds anint
array-valued parameter to the parameter map.Adds along
-valued parameter to the parameter map.Adds along
array-valued parameter to the parameter map.withParam
(String key, AnnotationInfo value) Adds an annotation-valued parameter to the parameter map.withParam
(String key, AnnotationInfo[] value) Adds an annotation array-valued parameter to the parameter map.Adds aClass
-valued parameter to the parameter map.Adds aClass
array-valued parameter to the parameter map.withParam
(String key, Annotation value) Adds an annotation-valued parameter to the parameter map.withParam
(String key, Annotation[] value) Adds an annotation array-valued parameter to the parameter map.Adds aClass
-valued parameter to the parameter map.Adds aClass
array-valued parameter to the parameter map.Adds an enum-valued parameter to the parameter map.Adds an enum array-valued parameter to the parameter map.Adds aString
-valued parameter to the parameter map.Adds aString
array-valued parameter to the parameter map.
-
Method Details
-
type
Addstype
to the set of bean types of this synthetic bean. This method may be called multiple times to add multiple bean types.If not called, the set of bean types of this synthetic bean will be a singleton set containing
java.lang.Object
.- Parameters:
type
- the bean type, must not benull
- Returns:
- this
SyntheticBeanBuilder
-
type
Addstype
to the set of bean types of this synthetic bean. This method may be called multiple times to add multiple bean types.If not called, the set of bean types of this synthetic bean will be a singleton set containing
java.lang.Object
.- Parameters:
type
- the bean type, must not benull
- Returns:
- this
SyntheticBeanBuilder
-
type
Addstype
to the set of bean types of this synthetic bean. This method may be called multiple times to add multiple bean types.If not called, the set of bean types of this synthetic bean will be a singleton set containing
java.lang.Object
.- Parameters:
type
- the bean type, must not benull
- Returns:
- this
SyntheticBeanBuilder
-
qualifier
Adds a marker annotation of given type to the set of qualifiers of this synthetic bean. This method may be called multiple times to add multiple qualifiers.If not called, this synthetic bean will have the
@Default
qualifier (and the@Any
qualifier that all beans have).- Parameters:
annotationType
- the type of the marker annotation, must not benull
- Returns:
- this
SyntheticBeanBuilder
-
qualifier
Adds given annotation to the set of qualifiers of this synthetic bean. This method may be called multiple times to add multiple qualifiers.If not called, this synthetic bean will have the
@Default
qualifier (and the@Any
qualifier that all beans have).- Parameters:
qualifierAnnotation
- the annotation, must not benull
- Returns:
- this
SyntheticBeanBuilder
-
qualifier
Adds given annotation to the set of qualifiers of this synthetic bean. This method may be called multiple times to add multiple qualifiers.If not called, this synthetic bean will have the
@Default
qualifier (and the@Any
qualifier that all beans have).- Parameters:
qualifierAnnotation
- the annotation, must not benull
- Returns:
- this
SyntheticBeanBuilder
-
scope
Sets the scope of this synthetic bean to given scope type.If not called, this synthetic bean will be
@Dependent
.- Parameters:
scopeAnnotation
- the scope type, must not benull
- Returns:
- this
SyntheticBeanBuilder
- Throws:
IllegalStateException
- if this method is called multiple times
-
alternative
Marks this synthetic bean as an alternative if desired. To make this synthetic bean an enabled alternative, call bothalternative(true)
andpriority(some priority)
.If this synthetic bean is an alternative, not setting a priority means that it is not enabled, which is equivalent to not registering it at all.
If not called, this synthetic bean will not be an alternative.
- Parameters:
isAlternative
- whether this synthetic bean should be an alternative- Returns:
- this
SyntheticBeanBuilder
- Throws:
IllegalStateException
- if this method is called multiple times
-
priority
Sets a priority of this synthetic bean. To make this synthetic bean an enabled alternative, call bothalternative(true)
andpriority(some priority)
.If this synthetic bean is an alternative, not setting a priority means that it is not enabled, which is equivalent to not registering it at all.
If not called, this synthetic bean will not have a priority. If this synthetic bean is not an alternative, the priority is ignored.
- Parameters:
priority
- the priority of this synthetic bean- Returns:
- this
SyntheticBeanBuilder
- Throws:
IllegalStateException
- if this method is called multiple times
-
name
Sets the bean name of this synthetic bean. IfbeanName
isnull
, this synthetic bean will not have a name.If not called, this synthetic bean will not have a name.
- Parameters:
beanName
- the bean name of this synthetic bean- Returns:
- this
SyntheticBeanBuilder
- Throws:
IllegalStateException
- if this method is called multiple times
-
stereotype
AddsstereotypeAnnotation
to the set of stereotypes of this synthetic bean. This method may be called multiple times to add multiple stereotypes.If not called, this synthetic bean will have no stereotype.
- Parameters:
stereotypeAnnotation
- the stereotype, must not benull
- Returns:
- this
SyntheticBeanBuilder
-
stereotype
AddsstereotypeAnnotation
to the set of stereotypes of this synthetic bean. This method may be called multiple times to add multiple stereotypes.If not called, this synthetic bean will have no stereotype.
- Parameters:
stereotypeAnnotation
- the stereotype, must not benull
- Returns:
- this
SyntheticBeanBuilder
-
withParam
Adds aboolean
-valued parameter to the parameter map. The parameter map is passed to the creation and destruction functions when a bean instance is created/destroyed.- Parameters:
key
- the parameter key, must not benull
value
- the parameter value- Returns:
- this
SyntheticBeanBuilder
-
withParam
Adds aboolean
array-valued parameter to the parameter map. The parameter map is passed to the creation and destruction functions when a bean instance is created/destroyed.- Parameters:
key
- the parameter key, must not benull
value
- the parameter value- Returns:
- this
SyntheticBeanBuilder
-
withParam
Adds anint
-valued parameter to the parameter map. The parameter map is passed to the creation and destruction functions when a bean instance is created/destroyed.- Parameters:
key
- the parameter key, must not benull
value
- the parameter value- Returns:
- this
SyntheticBeanBuilder
-
withParam
Adds anint
array-valued parameter to the parameter map. The parameter map is passed to the creation and destruction functions when a bean instance is created/destroyed.- Parameters:
key
- the parameter key, must not benull
value
- the parameter value- Returns:
- this
SyntheticBeanBuilder
-
withParam
Adds along
-valued parameter to the parameter map. The parameter map is passed to the creation and destruction functions when a bean instance is created/destroyed.- Parameters:
key
- the parameter key, must not benull
value
- the parameter value- Returns:
- this
SyntheticBeanBuilder
-
withParam
Adds along
array-valued parameter to the parameter map. The parameter map is passed to the creation and destruction functions when a bean instance is created/destroyed.- Parameters:
key
- the parameter key, must not benull
value
- the parameter value- Returns:
- this
SyntheticBeanBuilder
-
withParam
Adds adouble
-valued parameter to the parameter map. The parameter map is passed to the creation and destruction functions when a bean instance is created/destroyed.- Parameters:
key
- the parameter key, must not benull
value
- the parameter value- Returns:
- this
SyntheticBeanBuilder
-
withParam
Adds adouble
array-valued parameter to the parameter map. The parameter map is passed to the creation and destruction functions when a bean instance is created/destroyed.- Parameters:
key
- the parameter key, must not benull
value
- the parameter value- Returns:
- this
SyntheticBeanBuilder
-
withParam
Adds aString
-valued parameter to the parameter map. The parameter map is passed to the creation and destruction functions when a bean instance is created/destroyed.- Parameters:
key
- the parameter key, must not benull
value
- the parameter value- Returns:
- this
SyntheticBeanBuilder
-
withParam
Adds aString
array-valued parameter to the parameter map. The parameter map is passed to the creation and destruction functions when a bean instance is created/destroyed.- Parameters:
key
- the parameter key, must not benull
value
- the parameter value- Returns:
- this
SyntheticBeanBuilder
-
withParam
Adds an enum-valued parameter to the parameter map. The parameter map is passed to the creation and destruction functions when a bean instance is created/destroyed.- Parameters:
key
- the parameter key, must not benull
value
- the parameter value- Returns:
- this
SyntheticBeanBuilder
-
withParam
Adds an enum array-valued parameter to the parameter map. The parameter map is passed to the creation and destruction functions when a bean instance is created/destroyed.- Parameters:
key
- the parameter key, must not benull
value
- the parameter value- Returns:
- this
SyntheticBeanBuilder
-
withParam
Adds aClass
-valued parameter to the parameter map. The parameter map is passed to the creation and destruction functions when a bean instance is created/destroyed.- Parameters:
key
- the parameter key, must not benull
value
- the parameter value- Returns:
- this
SyntheticBeanBuilder
-
withParam
Adds aClass
-valued parameter to the parameter map. The parameter map is passed to the creation and destruction functions when a bean instance is created/destroyed.When looked up from the parameter map in the creation/destruction function, the value will be an instance of
Class
, not aClassInfo
.- Parameters:
key
- the parameter key, must not benull
value
- the parameter value- Returns:
- this
SyntheticBeanBuilder
-
withParam
Adds aClass
array-valued parameter to the parameter map. The parameter map is passed to the creation and destruction functions when a bean instance is created/destroyed.- Parameters:
key
- the parameter key, must not benull
value
- the parameter value- Returns:
- this
SyntheticBeanBuilder
-
withParam
Adds aClass
array-valued parameter to the parameter map. The parameter map is passed to the creation and destruction functions when a bean instance is created/destroyed.When looked up from the parameter map in the creation/destruction function, the values will be instances of
Class
, notClassInfo
.- Parameters:
key
- the parameter key, must not benull
value
- the parameter value- Returns:
- this
SyntheticBeanBuilder
-
withParam
Adds an annotation-valued parameter to the parameter map. The parameter map is passed to the creation and destruction functions when a bean instance is created/destroyed.When looked up from the parameter map in the creation/destruction function, the value will be an instance of the annotation type, not an
AnnotationInfo
.- Parameters:
key
- the parameter key, must not benull
value
- the parameter value- Returns:
- this
SyntheticBeanBuilder
-
withParam
Adds an annotation-valued parameter to the parameter map. The parameter map is passed to the creation and destruction functions when a bean instance is created/destroyed.- Parameters:
key
- the parameter key, must not benull
value
- the parameter value- Returns:
- this
SyntheticBeanBuilder
-
withParam
Adds an annotation array-valued parameter to the parameter map. The parameter map is passed to the creation and destruction functions when a bean instance is created/destroyed.When looked up from the parameter map in the creation/destruction function, the values will be instances of the corresponding annotation types, not
AnnotationInfo
.- Parameters:
key
- the parameter key, must not benull
value
- the parameter value- Returns:
- this
SyntheticBeanBuilder
-
withParam
Adds an annotation array-valued parameter to the parameter map. The parameter map is passed to the creation and destruction functions when a bean instance is created/destroyed.- Parameters:
key
- the parameter key, must not benull
value
- the parameter value- Returns:
- this
SyntheticBeanBuilder
-
createWith
Sets the class of the synthetic bean creation function. CDI container will create an instance of the creation function every time when it needs to obtain an instance of the synthetic bean. The class must bepublic
and have apublic
zero-parameter constructor; it must not be a bean.If not called, the synthetic bean registration will fail.
- Parameters:
creatorClass
- the creation function class, must not benull
- Returns:
- this
SyntheticBeanBuilder
- Throws:
IllegalStateException
- if this method is called multiple times
-
disposeWith
Sets the class of the synthetic bean destruction function. CDI container will create an instance of the destruction function every time when it needs to destruction an instance of the synthetic bean. The class must bepublic
and have apublic
zero-parameter constructor; it must not be a bean.If not called, a noop destruction function will be used.
- Parameters:
disposerClass
- the destruction function class, must not benull
- Returns:
- this
SyntheticBeanBuilder
- Throws:
IllegalStateException
- if this method is called multiple times
-