Package org.infinispan.cdi.common.util
Class ImmutableBean<T>
- java.lang.Object
-
- org.infinispan.cdi.common.util.AbstractImmutableBean<T>
-
- org.infinispan.cdi.common.util.ImmutableBean<T>
-
- All Implemented Interfaces:
javax.enterprise.context.spi.Contextual<T>,javax.enterprise.inject.spi.Bean<T>,javax.enterprise.inject.spi.BeanAttributes<T>
- Direct Known Subclasses:
ImmutablePassivationCapableBean
public class ImmutableBean<T> extends AbstractImmutableBean<T> implements javax.enterprise.inject.spi.Bean<T>
A base class for implementing
Bean. The attributes are immutable, and collections are defensively copied on instantiation. It uses the defaults from the specification for properties if not specified.This bean delegates it's lifecycle to the callbacks on the provided
ContextualLifecycle.- Author:
- Stuart Douglas, Pete Muir
- See Also:
AbstractImmutableBean,BeanBuilder,ImmutablePassivationCapableBean
-
-
Constructor Summary
Constructors Constructor Description ImmutableBean(Class<?> beanClass, String name, Set<Annotation> qualifiers, Class<? extends Annotation> scope, Set<Class<? extends Annotation>> stereotypes, Set<Type> types, boolean alternative, boolean nullable, Set<javax.enterprise.inject.spi.InjectionPoint> injectionPoints, ContextualLifecycle<T> contextualLifecycle, String toString)Create a new, immutable bean.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Tcreate(javax.enterprise.context.spi.CreationalContext<T> arg0)voiddestroy(T arg0, javax.enterprise.context.spi.CreationalContext<T> arg1)-
Methods inherited from class org.infinispan.cdi.common.util.AbstractImmutableBean
getBeanClass, getInjectionPoints, getName, getQualifiers, getScope, getStereotypes, getTypes, isAlternative, isNullable, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
-
-
-
Constructor Detail
-
ImmutableBean
public ImmutableBean(Class<?> beanClass, String name, Set<Annotation> qualifiers, Class<? extends Annotation> scope, Set<Class<? extends Annotation>> stereotypes, Set<Type> types, boolean alternative, boolean nullable, Set<javax.enterprise.inject.spi.InjectionPoint> injectionPoints, ContextualLifecycle<T> contextualLifecycle, String toString)
Create a new, immutable bean. All arguments passed as collections are defensively copied.- Parameters:
beanClass- The Bean class, may not be nullname- The bean namequalifiers- The bean's qualifiers, if null, a singleton set ofDefaultis usedscope- The bean's scope, if null, the default scope ofDependentis usedstereotypes- The bean's stereotypes, if null, an empty set is usedtypes- The bean's types, if null, the beanClass andObjectwill be usedalternative- True if the bean is an alternativenullable- True if the bean is nullableinjectionPoints- the bean's injection points, if null an empty set is usedcontextualLifecycle- Handler forcreate(CreationalContext)anddestroy(Object, CreationalContext)toString- the string representation of the bean, if null the built in representation is used, which states the bean class and qualifiers- Throws:
IllegalArgumentException- if the beanClass is null
-
-