public class BeanBuilder<T> extends Object
A builder class for creating immutable beans. The builder can create
PassivationCapable beans.
The builder can read from an AnnotatedType and have any attribute
modified. This class is not thread-safe, but the bean created by calling
create() is.
It is advised that a new bean builder is instantiated for each bean created.
| Modifier and Type | Field and Description |
|---|---|
protected boolean |
alternative |
protected Class<?> |
beanClass |
protected ContextualLifecycle<T> |
beanLifecycle |
protected javax.enterprise.inject.spi.BeanManager |
beanManager |
protected String |
id |
protected Set<javax.enterprise.inject.spi.InjectionPoint> |
injectionPoints |
protected String |
name |
protected boolean |
nullable |
protected boolean |
passivationCapable |
protected Set<java.lang.annotation.Annotation> |
qualifiers |
protected Class<? extends java.lang.annotation.Annotation> |
scope |
protected Set<Class<? extends java.lang.annotation.Annotation>> |
stereotypes |
protected String |
toString |
protected Set<Type> |
types |
| Constructor and Description |
|---|
BeanBuilder(javax.enterprise.inject.spi.BeanManager beanManager)
Instantiate a new bean builder.
|
| Modifier and Type | Method and Description |
|---|---|
BeanBuilder<T> |
addQualifier(java.lang.annotation.Annotation qualifier)
Add to the qualifiers used for bean creation.
|
BeanBuilder<T> |
addQualifiers(java.lang.annotation.Annotation... qualifiers)
Add to the qualifiers used for bean creation.
|
BeanBuilder<T> |
addQualifiers(Collection<java.lang.annotation.Annotation> qualifiers)
Add to the qualifiers used for bean creation.
|
BeanBuilder<T> |
addType(Type type)
Add to the type closure used for bean creation.
|
BeanBuilder<T> |
addTypes(Collection<Type> types)
Add to the type closure used for bean creation.
|
BeanBuilder<T> |
addTypes(Type... types)
Add to the type closure used for bean creation.
|
BeanBuilder<T> |
alternative(boolean alternative)
Define that the created bean will (or will not) be an alternative.
|
BeanBuilder<T> |
beanClass(Class<?> beanClass)
Define the bean class used for bean creation.
|
BeanBuilder<T> |
beanLifecycle(ContextualLifecycle<T> beanLifecycle)
Define the
ContextualLifecycle used for bean creation. |
javax.enterprise.inject.spi.Bean<T> |
create()
Use the bean builder's current state to define the bean.
|
Class<?> |
getBeanClass()
The bean class currently defined for bean creation.
|
ContextualLifecycle<T> |
getBeanLifecycle()
The
ContextualLifecycle currently defined for bean creation. |
javax.enterprise.inject.spi.BeanManager |
getBeanManager()
The bean manager in use.
|
String |
getId()
The id currently defined for bean creation.
|
Set<javax.enterprise.inject.spi.InjectionPoint> |
getInjectionPoints()
The injection points currently defined for bean creation.
|
String |
getName()
The name of the bean currently defined for bean creation.
|
Set<java.lang.annotation.Annotation> |
getQualifiers()
Qualifiers currently defined for bean creation.
|
Class<? extends java.lang.annotation.Annotation> |
getScope()
Scope currently defined for bean creation.
|
Set<Class<? extends java.lang.annotation.Annotation>> |
getStereotypes()
Stereotypes currently defined for bean creation.
|
String |
getToString()
The string used when
Object.toString() is called on the bean. |
Set<Type> |
getTypes()
Type closure currently defined for bean creation.
|
BeanBuilder<T> |
id(String id)
Define the id used for bean creation.
|
BeanBuilder<T> |
injectionPoints(Set<javax.enterprise.inject.spi.InjectionPoint> injectionPoints)
Define the injection points used for bean creation.
|
boolean |
isAlternative()
Whether the created bean will be an alternative.
|
boolean |
isNullable()
Whether the created bean will be nullable.
|
boolean |
isPassivationCapable()
Whether the created bean will be passivation capable.
|
BeanBuilder<T> |
name(String name)
Define the name of the bean used for bean creation.
|
BeanBuilder<T> |
nullable(boolean nullable)
Define that the created bean will (or will not) be nullable.
|
BeanBuilder<T> |
passivationCapable(boolean passivationCapable)
Define that the created bean will (or will not) be passivation capable.
|
BeanBuilder<T> |
qualifiers(java.lang.annotation.Annotation... qualifiers)
Define the qualifiers used for bean creation.
|
BeanBuilder<T> |
qualifiers(Set<java.lang.annotation.Annotation> qualifiers)
Define the qualifiers used for bean creation.
|
BeanBuilder<T> |
readFromType(javax.enterprise.inject.spi.AnnotatedType<T> type)
Read the
AnnotatedType, creating a bean from the class and it's
annotations. |
BeanBuilder<T> |
scope(Class<? extends java.lang.annotation.Annotation> scope)
Define the scope used for bean creation.
|
protected void |
setDefaultBeanLifecycle(javax.enterprise.inject.spi.AnnotatedType<T> type)
Set the ContextualLifecycle and the InjectionPoints for the AnnotatedType
|
BeanBuilder<T> |
stereotypes(Set<Class<? extends java.lang.annotation.Annotation>> stereotypes)
Define the stereotypes used for bean creation.
|
BeanBuilder<T> |
toString(String toString)
Define the string used when
Object.toString() is called on the bean. |
BeanBuilder<T> |
types(Set<Type> types)
Define the type closure used for bean creation.
|
BeanBuilder<T> |
types(Type... types)
Define the type closure used for bean creation.
|
protected final javax.enterprise.inject.spi.BeanManager beanManager
protected Class<?> beanClass
protected String name
protected Set<java.lang.annotation.Annotation> qualifiers
protected Class<? extends java.lang.annotation.Annotation> scope
protected Set<Class<? extends java.lang.annotation.Annotation>> stereotypes
protected Set<javax.enterprise.inject.spi.InjectionPoint> injectionPoints
protected boolean alternative
protected boolean nullable
protected ContextualLifecycle<T> beanLifecycle
protected boolean passivationCapable
protected String id
protected String toString
public BeanBuilder(javax.enterprise.inject.spi.BeanManager beanManager)
beanManager - the bean manager to use for creating injection targets
and determining if annotations are qualifiers, scopes or
stereotypes.public BeanBuilder<T> readFromType(javax.enterprise.inject.spi.AnnotatedType<T> type)
Read the AnnotatedType, creating a bean from the class and it's
annotations.
By default the bean lifecycle will wrap the result of calling
BeanManager.createInjectionTarget(AnnotatedType).
BeanBuilder does not support reading members of the class
to create producers or observer methods.
type - the type to readprotected void setDefaultBeanLifecycle(javax.enterprise.inject.spi.AnnotatedType<T> type)
type - public javax.enterprise.inject.spi.Bean<T> create()
Use the bean builder's current state to define the bean.
public Set<java.lang.annotation.Annotation> getQualifiers()
public BeanBuilder<T> qualifiers(Set<java.lang.annotation.Annotation> qualifiers)
qualifiers - the qualifiers to usepublic BeanBuilder<T> qualifiers(java.lang.annotation.Annotation... qualifiers)
qualifiers - the qualifiers to usepublic BeanBuilder<T> addQualifier(java.lang.annotation.Annotation qualifier)
qualifier - the additional qualifier to usepublic BeanBuilder<T> addQualifiers(java.lang.annotation.Annotation... qualifiers)
qualifiers - the additional qualifiers to usepublic BeanBuilder<T> addQualifiers(Collection<java.lang.annotation.Annotation> qualifiers)
qualifiers - the additional qualifiers to usepublic Class<? extends java.lang.annotation.Annotation> getScope()
public BeanBuilder<T> scope(Class<? extends java.lang.annotation.Annotation> scope)
scope - the scope to usepublic Set<Class<? extends java.lang.annotation.Annotation>> getStereotypes()
public BeanBuilder<T> stereotypes(Set<Class<? extends java.lang.annotation.Annotation>> stereotypes)
stereotypes - the stereotypes to usepublic Set<Type> getTypes()
public BeanBuilder<T> types(Set<Type> types)
types - the type closure to usepublic BeanBuilder<T> types(Type... types)
types - the type closure to usepublic BeanBuilder<T> addType(Type type)
type - additional type to usepublic BeanBuilder<T> addTypes(Type... types)
types - the additional types to usepublic BeanBuilder<T> addTypes(Collection<Type> types)
types - the additional types to usepublic boolean isAlternative()
true if the created bean will be an alternative,
otherwise falsepublic BeanBuilder<T> alternative(boolean alternative)
alternative - true if the created bean should be an
alternative, otherwise falsepublic boolean isNullable()
true if the created bean will be nullable, otherwise
falsepublic BeanBuilder<T> nullable(boolean nullable)
nullable - true if the created bean should be nullable,
otherwise falsepublic ContextualLifecycle<T> getBeanLifecycle()
ContextualLifecycle currently defined for bean creation.public BeanBuilder<T> beanLifecycle(ContextualLifecycle<T> beanLifecycle)
ContextualLifecycle used for bean creation.beanLifecycle - the ContextualLifecycle to use for bean
creation.public Class<?> getBeanClass()
public BeanBuilder<T> beanClass(Class<?> beanClass)
beanClass - the bean class to usepublic javax.enterprise.inject.spi.BeanManager getBeanManager()
BeanBuilder.public String getName()
null if the bean has no namepublic BeanBuilder<T> name(String name)
name - the name of the bean to use or null if the bean
should have no namepublic boolean isPassivationCapable()
true if the created bean will be passivation capable,
otherwise falsepublic BeanBuilder<T> passivationCapable(boolean passivationCapable)
passivationCapable - true if the created bean should be
passivation capable, otherwise falsepublic String getId()
public BeanBuilder<T> id(String id)
id - the id to usepublic Set<javax.enterprise.inject.spi.InjectionPoint> getInjectionPoints()
public BeanBuilder<T> injectionPoints(Set<javax.enterprise.inject.spi.InjectionPoint> injectionPoints)
injectionPoints - the injection points to usepublic BeanBuilder<T> toString(String toString)
Object.toString() is called on the bean.toString - the string to usepublic String getToString()
Object.toString() is called on the bean.Copyright © 2015 The Apache Software Foundation. All rights reserved.