Author: arne
Date: Thu Apr 25 09:32:08 2013
New Revision: 1475683
URL: http://svn.apache.org/r1475683
Log:
OWB-814: Implement BeanManager.getInjectionTargetFactory and
BeanManager.getProducerFactory
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/AbstractBeanManager.java
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/AbstractBeanManager.java
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/AbstractBeanManager.java?rev=1475683&r1=1475682&r2=1475683&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/AbstractBeanManager.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/AbstractBeanManager.java
Thu Apr 25 09:32:08 2013
@@ -21,10 +21,17 @@ package org.apache.webbeans.container;
import java.lang.annotation.Annotation;
import javax.enterprise.inject.spi.AnnotatedField;
+import javax.enterprise.inject.spi.AnnotatedMethod;
import javax.enterprise.inject.spi.AnnotatedParameter;
+import javax.enterprise.inject.spi.AnnotatedType;
+import javax.enterprise.inject.spi.Bean;
import javax.enterprise.inject.spi.BeanManager;
import javax.enterprise.inject.spi.InjectionPoint;
+import org.apache.webbeans.component.creation.FieldProducerFactory;
+import org.apache.webbeans.component.creation.MethodProducerFactory;
+import org.apache.webbeans.component.spi.InjectionTargetFactory;
+import org.apache.webbeans.component.spi.ProducerFactory;
import org.apache.webbeans.config.WebBeansContext;
import org.apache.webbeans.util.AnnotationUtil;
@@ -62,4 +69,19 @@ public abstract class AbstractBeanManage
{
return
getWebBeansContext().getInjectionPointFactory().buildInjectionPoint(null,
parameter);
}
+
+ public <X> ProducerFactory<X> getProducerFactory(AnnotatedField<? super X>
field, Bean<X> bean)
+ {
+ return new FieldProducerFactory<X>(field, bean, getWebBeansContext());
+ }
+
+ public <X> ProducerFactory<X> getProducerFactory(AnnotatedMethod<? super
X> method, Bean<X> bean)
+ {
+ return new MethodProducerFactory<X>(method, bean,
getWebBeansContext());
+ }
+
+ public <X> InjectionTargetFactory<X>
getInjectionTargetFactory(AnnotatedType<X> type)
+ {
+ return new InjectionTargetFactoryImpl<X>(type, getWebBeansContext());
+ }
}