Class InstanceImpl<T>
- java.lang.Object
-
- org.jboss.weld.bean.builtin.AbstractFacade<T,Instance<T>>
-
- org.jboss.weld.bean.builtin.InstanceImpl<T>
-
- Type Parameters:
T-
- All Implemented Interfaces:
Instance<T>,Provider<T>,Serializable,Iterable<T>,WeldInstance<T>
public class InstanceImpl<T> extends AbstractFacade<T,Instance<T>> implements WeldInstance<T>, Serializable
Helper implementation for Instance for getting instances- Author:
- Gavin King
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.jboss.weld.bean.builtin.AbstractFacade
AbstractFacade.AbstractFacadeSerializationProxy<T,X>
-
Nested classes/interfaces inherited from interface jakarta.enterprise.inject.Instance
Instance.Handle<T>
-
Nested classes/interfaces inherited from interface org.jboss.weld.inject.WeldInstance
WeldInstance.Handler<T>
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddestroy(T instance)When called, the container destroys the instance if the active context object for the scope type of the bean supports destroying bean instances.Tget()Provides a fully-constructed and injected instance ofT.Instance.Handle<T>getHandle()Obtains an initialized contextual reference handle for a bean that has the required type and qualifiers and is eligible for injection.Comparator<Instance.Handle<?>>getHandlePriorityComparator()The returned comparator sorts handles by priority in descending order.WeldInstance.Handler<T>getHandler()This method is deprecated as a similar functioning method exists in CDI 4.0 and newer.Comparator<WeldInstance.Handler<?>>getPriorityComparator()This method is deprecated in favor ofWeldInstance.getHandlePriorityComparator()which operates on a non-deprecatedInstance.Handleinterface.Iterable<WeldInstance.Handler<T>>handlers()This method is deprecated as a similar functioning method exists in CDI 4.0 and newer.Iterable<Instance.Handle<T>>handles()Allows iterating over contextual reference handles for all beans that have the required type and required qualifiers and are eligible for injection.booleanisAmbiguous()Determines if there is more than one bean that matches the required type and qualifiers and is eligible for injection into the class into which the parentInstancewas injected.booleanisResolvable()Determines if there is exactly one bean that matches the required type and qualifiers and is eligible for injection into the class into which the parentInstancewas injected.booleanisUnsatisfied()Determines if there is no bean that matches the required type and qualifiers and is eligible for injection into the class into which the parentInstancewas injected.Iterator<T>iterator()static <I> Instance<I>of(InjectionPoint injectionPoint, CreationalContext<I> creationalContext, BeanManagerImpl beanManager)<U extends T>
WeldInstance<U>select(TypeLiteral<U> subtype, Annotation... qualifiers)Obtains a childInstancefor the given required type and additional required qualifiers.WeldInstance<T>select(Annotation... qualifiers)Obtains a childInstancefor the given additional required qualifiers.<U extends T>
WeldInstance<U>select(Class<U> subtype, Annotation... qualifiers)Obtains a childInstancefor the given required type and additional required qualifiers.<X> WeldInstance<X>select(Type subtype, Annotation... qualifiers)Obtains a childInstancefor the given required type and additional required qualifiers.StringtoString()Gets a string representation-
Methods inherited from class org.jboss.weld.bean.builtin.AbstractFacade
equals, getBeanManager, getCreationalContext, getFacadeType, getInjectionPoint, getQualifiers, getType, hashCode
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface jakarta.enterprise.inject.Instance
handlesStream, stream
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Methods inherited from interface org.jboss.weld.inject.WeldInstance
handlersStream
-
-
-
-
Method Detail
-
of
public static <I> Instance<I> of(InjectionPoint injectionPoint, CreationalContext<I> creationalContext, BeanManagerImpl beanManager)
-
get
public T get()
Description copied from interface:ProviderProvides a fully-constructed and injected instance ofT.
-
toString
public String toString()
Gets a string representation
-
isAmbiguous
public boolean isAmbiguous()
Description copied from interface:InstanceDetermines if there is more than one bean that matches the required type and qualifiers and is eligible for injection into the class into which the parent
Instancewas injected.- Specified by:
isAmbiguousin interfaceInstance<T>- Returns:
trueif there is more than one bean that matches the required type and qualifiers and is eligible for injection into the class into which the parentInstancewas injected, orfalseotherwise.
-
isUnsatisfied
public boolean isUnsatisfied()
Description copied from interface:InstanceDetermines if there is no bean that matches the required type and qualifiers and is eligible for injection into the class into which the parent
Instancewas injected.- Specified by:
isUnsatisfiedin interfaceInstance<T>- Returns:
trueif there is no bean that matches the required type and qualifiers and is eligible for injection into the class into which the parentInstancewas injected, orfalseotherwise.
-
select
public WeldInstance<T> select(Annotation... qualifiers)
Description copied from interface:InstanceObtains a child
Instancefor the given additional required qualifiers.
-
select
public <U extends T> WeldInstance<U> select(Class<U> subtype, Annotation... qualifiers)
Description copied from interface:InstanceObtains a child
Instancefor the given required type and additional required qualifiers.
-
select
public <U extends T> WeldInstance<U> select(TypeLiteral<U> subtype, Annotation... qualifiers)
Description copied from interface:InstanceObtains a child
Instancefor the given required type and additional required qualifiers.- Specified by:
selectin interfaceInstance<T>- Specified by:
selectin interfaceWeldInstance<T>- Type Parameters:
U- the required type- Parameters:
subtype- aTypeLiteralrepresenting the required typequalifiers- the additional required qualifiers- Returns:
- the child
Instance
-
select
public <X> WeldInstance<X> select(Type subtype, Annotation... qualifiers)
Description copied from interface:WeldInstanceObtains a child
Instancefor the given required type and additional required qualifiers. Must be invoked onInstance<T>where T isObject.- Specified by:
selectin interfaceWeldInstance<T>- Type Parameters:
X- the required type- Parameters:
subtype- aTyperepresenting the required typequalifiers- the additional required qualifiers- Returns:
- the child
Instance
-
destroy
public void destroy(T instance)
Description copied from interface:InstanceWhen called, the container destroys the instance if the active context object for the scope type of the bean supports destroying bean instances. All normal scoped built-in contexts support destroying bean instances.
The instance passed should either be a dependent scoped bean instance obtained from the same
Instanceobject, or the client proxy for a normal scoped bean instance.
-
getHandle
public Instance.Handle<T> getHandle()
Description copied from interface:InstanceObtains an initialized contextual reference handle for a bean that has the required type and qualifiers and is eligible for injection. Throws exceptions if there is no such bean or more than one.The contextual reference is obtained lazily, i.e. when first needed.
- Specified by:
getHandlein interfaceInstance<T>- Returns:
- a new
Instance.Handleinstnace
-
getHandler
public WeldInstance.Handler<T> getHandler()
Description copied from interface:WeldInstanceThis method is deprecated as a similar functioning method exists in CDI 4.0 and newer. Users should instead useInstance.getHandle(). Obtains an initialized contextual reference handler for the bean that has the required type and required qualifiers and is eligible for injection.The contextual reference is obtained lazily, i.e. when first needed.
- Specified by:
getHandlerin interfaceWeldInstance<T>- Returns:
- a new handler
-
isResolvable
public boolean isResolvable()
Description copied from interface:InstanceDetermines if there is exactly one bean that matches the required type and qualifiers and is eligible for injection into the class into which the parent
Instancewas injected.- Specified by:
isResolvablein interfaceInstance<T>- Returns:
trueif there is exactly one bean that matches the required type and qualifiers and is eligible for injection into the class into which the parentInstancewas injected, orfalseotherwise.
-
handles
public Iterable<Instance.Handle<T>> handles()
Description copied from interface:InstanceAllows iterating over contextual reference handles for all beans that have the required type and required qualifiers and are eligible for injection.Note that the returned
Iterableis stateless. Therefore, eachIterable.iterator()produces a new set of handles.
-
handlers
public Iterable<WeldInstance.Handler<T>> handlers()
Description copied from interface:WeldInstanceThis method is deprecated as a similar functioning method exists in CDI 4.0 and newer. Users should instead useInstance.handles(). Allows to iterate over contextual reference handlers for all the beans that have the required type and required qualifiers and are eligible for injection.Note that the returned
Iterableis stateless and so eachIterable.iterator()produces a new set of handlers.- Specified by:
handlersin interfaceWeldInstance<T>- Returns:
- a new iterable
-
getPriorityComparator
public Comparator<WeldInstance.Handler<?>> getPriorityComparator()
Description copied from interface:WeldInstanceThis method is deprecated in favor ofWeldInstance.getHandlePriorityComparator()which operates on a non-deprecatedInstance.Handleinterface. The returned comparator sorts handlers by priority in descending order.- A class-based bean whose annotated type has
jakarta.annotation.Priorityhas the priority of valuejakarta.annotation.Priority#value() - A custom bean which implements
Prioritizedhas the priority of valuePrioritized.getPriority() - Any other bean has the priority of value 0
- Specified by:
getPriorityComparatorin interfaceWeldInstance<T>- Returns:
- a comparator instance
- A class-based bean whose annotated type has
-
getHandlePriorityComparator
public Comparator<Instance.Handle<?>> getHandlePriorityComparator()
Description copied from interface:WeldInstanceThe returned comparator sorts handles by priority in descending order.- A class-based bean whose annotated type has
jakarta.annotation.Priorityhas the priority of valuejakarta.annotation.Priority#value() - A custom bean which implements
Prioritizedhas the priority of valuePrioritized.getPriority() - Any other bean has the priority of value 0
- Specified by:
getHandlePriorityComparatorin interfaceWeldInstance<T>- Returns:
- a comparator instance
- A class-based bean whose annotated type has
-
-