Package jakarta.enterprise.inject.spi
Interface ProducerFactory<X>
- Type Parameters:
X
- type of the bean containing the producer
public interface ProducerFactory<X>
An ProducerFactory
can create an Producer
for a given bean.
The ProducerFactory
obtained from BeanManager.getProducerFactory(AnnotatedMethod, Bean)
or
BeanManager.getProducerFactory(AnnotatedField, Bean)
is capable of providing container created
producers. This factory can be wrapped to add behavior to container created producers.
For example:
BeanAttributes<MyBean> myBeanAttributes = beanManager.createBeanAttributes(myBeanAnnotatedFieldField); beanManager.createBean(myBeanAttributes, MyBean.class, new ProducerFactory() { public <T> Producer<T> createProducer(Bean<T> bean) { return new WrappingProducer<T>(beanManager.getProducerFactory(myBeanAnnotatedField).createProducer(bean)); } });
CDI Lite implementations are not required to provide support for ProducerFactory
.
- Since:
- 1.1
- Author:
- Pete Muir
-
Method Summary
Modifier and TypeMethodDescription<T> Producer<T>
createProducer
(Bean<T> bean) Create a new producer for a bean.
-
Method Details
-
createProducer
Create a new producer for a bean.- Type Parameters:
T
- bean type- Parameters:
bean
- the bean to create the producer for, or null if creating a non-contextual object- Returns:
- the producer
-