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:
-
Constructor Summary
ConstructorsConstructorDescriptionImmutableBean(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
Methods inherited from class org.infinispan.cdi.common.util.AbstractImmutableBean
getBeanClass, getInjectionPoints, getName, getQualifiers, getScope, getStereotypes, getTypes, isAlternative, isNullable, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface javax.enterprise.inject.spi.Bean
getBeanClass, getInjectionPoints, isNullableMethods inherited from interface javax.enterprise.inject.spi.BeanAttributes
getName, getQualifiers, getScope, getStereotypes, getTypes, isAlternative
-
Constructor Details
-
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
-
-
Method Details