T
- The class of object produced by the producerpublic interface Producer<T>
Provides a generic operation for producing an instance of a type.
Modifier and Type | Method and Description |
---|---|
void |
dispose(T instance)
Destroys the instance.
|
java.util.Set<InjectionPoint> |
getInjectionPoints()
Returns the set of all
InjectionPoints . |
T |
produce(CreationalContext<T> ctx)
Causes an instance to be produced via the
Producer . |
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 annotated Inject
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.
ctx
- The CreationalContext
to use for the produced objectvoid 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.
instance
- The instance to disposejava.util.Set<InjectionPoint> getInjectionPoints()
Returns the set of all InjectionPoints
. If the Producer
represents a class, then this returns returns the
set of InjectionPoint
objects representing all injected fields, bean constructor parameters and initializer
method parameters. For a producer method, this returns the set of InjectionPoint
objects representing all
parameters of the producer method.