@Typed public final class Beans extends Object
Collection of utility methods for the CDI API that are mainly shortcuts for obtaining stuff from the
BeanManager.
Some examples:
// Get the CDI managed bean reference (proxy) of the given bean class. SomeBean someBean = Beans.getReference(SomeBean.class); // Get the CDI managed bean instance (actual) of the given bean class. SomeBean someBean = Beans.getInstance(SomeBean.class); // Get all currently active CDI managed bean instances in the session scope. Map<Object, String> activeSessionScopedBeans = Beans.getActiveInstances(SessionScope.class); // Destroy any currently active CDI managed bean instance of given bean class. Beans.destroy(SomeBean.class);
The "native" CDI way would otherwise look like this:
// Get the CDI managed bean reference (proxy) of the given bean class. Set<Bean<?>> beans = beanManager.getBeans(SomeBean.class); Bean<SomeBean> bean = (Bean<SomeBean>) beanManager.resolve(beans); CreationalContext<SomeBean> context = beanManager.createCreationalContext(bean); SomeBean someBean = (SomeBean) beanManager.getReference(bean, SomeBean.class, context);
If you need a dependency-free way of obtaining the CDI managed bean reference (e.g. when you want to write code which
should also run on Tomcat), use BeanManager enum instead.
BeansLocal| Modifier and Type | Method and Description |
|---|---|
static <T> void |
destroy(Bean<T> bean)
Destroy the currently active instance of the given CDI managed bean representation.
|
static <T> void |
destroy(Class<T> beanClass)
Destroy the currently active instance of the given CDI managed bean class.
|
static <S extends Annotation> |
getActiveInstances(Class<S> scope)
Returns all active CDI managed bean instances in the given CDI managed bean scope.
|
static <A extends Annotation> |
getAnnotation(Annotated annotated,
Class<A> annotationType)
Get program element annotation of a certain annotation type.
|
static InjectionPoint |
getCurrentInjectionPoint(CreationalContext<?> creationalContext)
Gets the current injection point when called from a context where injection is taking place (e.g.
|
static <T> T |
getInstance(Bean<T> bean,
boolean create)
Returns the CDI managed bean instance (actual) of the given bean representation and creates one if one doesn't
exist and
create argument is true, otherwise don't create one and return
null if there's no current instance. |
static <T> T |
getInstance(Class<T> beanClass)
Returns the CDI managed bean instance (actual) of the given bean class and creates one if one doesn't exist.
|
static <T> T |
getInstance(Class<T> beanClass,
boolean create)
Returns the CDI managed bean instance (actual) of the given bean class and creates one if one doesn't exist and
create argument is true, otherwise don't create one and return null if
there's no current instance. |
static BeanManager |
getManager()
Returns the CDI bean manager.
|
static <A extends Annotation> |
getQualifier(InjectionPoint injectionPoint,
Class<A> qualifierClass)
Returns the qualifier annotation of the given qualifier class from the given injection point.
|
static <T> T |
getReference(Bean<T> bean)
Returns the CDI managed bean reference (proxy) of the given bean representation.
|
static <T> T |
getReference(Class<T> beanClass)
Returns the CDI managed bean reference (proxy) of the given bean class.
|
static <T> Bean<T> |
resolve(Class<T> beanClass)
Returns the CDI managed bean representation of the given bean class.
|
public static BeanManager getManager()
BeanManager.get()public static <T> Bean<T> resolve(Class<T> beanClass)
T - The generic CDI managed bean type.beanClass - The CDI managed bean class.null if there is none.BeanManager.getBeans(String),
BeanManager.resolve(java.util.Set)public static <T> T getReference(Class<T> beanClass)
T - The expected return type.beanClass - The CDI managed bean class.null if there is none.resolve(Class),
getReference(Bean)public static <T> T getReference(Bean<T> bean)
T - The expected return type.bean - The CDI managed bean representation.null if there is none.BeanManager.createCreationalContext(javax.enterprise.context.spi.Contextual),
BeanManager.getReference(Bean, java.lang.reflect.Type, javax.enterprise.context.spi.CreationalContext)public static <T> T getInstance(Class<T> beanClass)
T - The expected return type.beanClass - The CDI managed bean class.null if there is none.getInstance(Class, boolean)public static <T> T getInstance(Class<T> beanClass, boolean create)
create argument is true, otherwise don't create one and return null if
there's no current instance.T - The expected return type.beanClass - The CDI managed bean class.create - Whether to create create CDI managed bean instance if one doesn't exist.null if there is none
and/or the create argument is false.resolve(Class),
getInstance(Bean, boolean)public static <T> T getInstance(Bean<T> bean, boolean create)
create argument is true, otherwise don't create one and return
null if there's no current instance.T - The expected return type.bean - The CDI managed bean representation.create - Whether to create create CDI managed bean instance if one doesn't exist.null if there is none and/or
the create argument is false.BeanManager.getContext(Class),
BeanManager.createCreationalContext(javax.enterprise.context.spi.Contextual),
Context.get(javax.enterprise.context.spi.Contextual, javax.enterprise.context.spi.CreationalContext)public static <S extends Annotation> Map<Object,String> getActiveInstances(Class<S> scope)
S - The generic CDI managed bean scope type.scope - The CDI managed bean scope, e.g. RequestScoped.class.BeanManager.getBeans(String),
BeanManager.getContext(Class),
Context.get(javax.enterprise.context.spi.Contextual)public static <T> void destroy(Class<T> beanClass)
T - The generic CDI managed bean type.beanClass - The CDI managed bean class.resolve(Class),
destroy(Bean)public static <T> void destroy(Bean<T> bean)
T - The generic CDI managed bean type.bean - The CDI managed bean representation.IllegalArgumentException - When the given CDI managed bean type is actually not put in an alterable
context.BeanManager.getContext(Class),
AlterableContext.destroy(javax.enterprise.context.spi.Contextual)public static <A extends Annotation> A getAnnotation(Annotated annotated, Class<A> annotationType)
Annotated.getAnnotation(Class) is that this method will recursively search inside all Stereotype
annotations.A - The generic annotation type.annotated - A Java program element that can be annotated.annotationType - The class of the annotation type.null.public static InjectionPoint getCurrentInjectionPoint(CreationalContext<?> creationalContext)
This is mostly intended to be used from within a dynamic producer Bean. For a "regular" producer (using Produces)
an InjectionPoint can either be injected into the bean that contains the producer method, or directly provided as argument
of said method.
creationalContext - a CreationalContext used to manage objects with a
Dependent scopepublic static <A extends Annotation> A getQualifier(InjectionPoint injectionPoint, Class<A> qualifierClass)
A - The generic annotation type.injectionPoint - The injection point to obtain the qualifier annotation of the given qualifier class from.qualifierClass - The class of the qualifier annotation to be looked up in the given injection point.Copyright © 2012–2015 OmniFaces. All rights reserved.