-
- Type Parameters:
T
- The class of object produced by the producer
- All Known Subinterfaces:
InjectionTarget<T>
public interface Producer<T>
Provides a generic operation for producing an instance of a type.
CDI Lite implementations are not required to provide support for
Producer
.- Author:
- Pete Muir, David Allen
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
dispose(T instance)
Destroys the instance.java.util.Set<InjectionPoint>
getInjectionPoints()
Returns the set of allInjectionPoints
.T
produce(CreationalContext<T> ctx)
Causes an instance to be produced via theProducer
.
-
-
-
Method Detail
-
produce
T produce(CreationalContext<T> ctx)
Causes an instance to be produced via the
Producer
.If the
Producer
represents a class, this will invoke the constructor annotatedInject
if it exists, or the constructor with no parameters otherwise. If the class has interceptors,produce()
is responsible for building the interceptors and decorators of the instance.If the
Producer
represents a producer field or method, this will invoke the producer method on, or access the producer field of, a contextual instance of the bean that declares the producer.- Parameters:
ctx
- TheCreationalContext
to use for the produced object- Returns:
- the instance produced
-
dispose
void dispose(T instance)
Destroys the instance.
If the
Producer
represents a class, then this operation does nothing.If the
Producer
represents a producer field or method, this calls the disposer method, if any, on a contextual instance of the bean that declares the disposer method or performs any additional required cleanup, if any, to destroy state associated with a resource.- Parameters:
instance
- The instance to dispose
-
getInjectionPoints
java.util.Set<InjectionPoint> getInjectionPoints()
Returns the set of all
InjectionPoints
. If theProducer
represents a class, then this returns returns the set ofInjectionPoint
objects representing all injected fields, bean constructor parameters and initializer method parameters. For a producer method, this returns the set ofInjectionPoint
objects representing all parameters of the producer method.- Returns:
- the set of all injection points for the producer
-
-