All Downloads are FREE. Search and download functionalities are using the official Maven repository.

javax.enterprise.inject.spi.ProducerFactory Maven / Gradle / Ivy

There is a newer version: 3.0.0.Alpha1
Show newest version
package javax.enterprise.inject.spi;

/**
 * 

* An {@link ProducerFactory} can create an {@link Producer} for a given bean. *

* *

* The {@link ProducerFactory} obtained from {@link BeanManager#getProducerFactory(AnnotatedMethod, Bean)} or * {@link 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));
 *     }
 * });
 * 
* * @author Pete Muir * @since 1.1 */ public interface ProducerFactory { /** * Create a new producer for a bean. * * @param bean the bean to create the producer for, or null if creating a non-contextual object * @return the producer */ public Producer createProducer(Bean bean); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy