[webbeans-commits] Webbeans SVN: r272 - in ri/trunk/webbeans-ri/src: test/java/org/jboss/webbeans/test/util and 1 other directory.
webbeans-commits at lists.jboss.org
webbeans-commits at lists.jboss.org
Fri Nov 7 05:28:32 EST 2008
Author: nickarls
Date: 2008-11-07 05:28:31 -0500 (Fri, 07 Nov 2008)
New Revision: 272
Added:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java
Modified:
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java
Log:
Enterprise bean stubs
Added: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java 2008-11-07 10:28:31 UTC (rev 272)
@@ -0,0 +1,63 @@
+package org.jboss.webbeans.bean;
+
+import org.jboss.webbeans.ManagerImpl;
+import org.jboss.webbeans.injectable.InjectableField;
+import org.jboss.webbeans.injectable.InjectableMethod;
+import org.jboss.webbeans.model.bean.EnterpriseBeanModel;
+
+public class EnterpriseBean<T> extends AbstractBean<T>
+{
+ private EnterpriseBeanModel<T> model;
+
+ public EnterpriseBean(EnterpriseBeanModel<T> model, ManagerImpl manager) {
+ super(manager);
+ this.model = model;
+ }
+
+ @Override
+ public EnterpriseBeanModel<T> getModel()
+ {
+ return model;
+ }
+
+ @Override
+ public T create()
+ {
+ T instance = model.getConstructor().invoke(manager);
+ bindDecorators();
+ bindInterceptors();
+ injectEjbAndCommonFields();
+ injectBoundFields(instance);
+ callInitializers(instance);
+ return instance;
+ }
+
+ @Override
+ public void destroy(T instance)
+ {
+ // TODO Auto-generated method stub
+ super.destroy(instance);
+ }
+
+ protected void callInitializers(T instance)
+ {
+ for (InjectableMethod<Object> initializer : model.getInitializerMethods())
+ {
+ initializer.invoke(manager, instance);
+ }
+ }
+
+ protected void injectEjbAndCommonFields()
+ {
+ // TODO
+ }
+
+ protected void injectBoundFields(T instance)
+ {
+ for (InjectableField<?> injectableField : getModel().getInjectableFields())
+ {
+ injectableField.inject(instance, manager);
+ }
+ }
+
+}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java 2008-11-07 03:45:58 UTC (rev 271)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java 2008-11-07 10:28:31 UTC (rev 272)
@@ -6,6 +6,7 @@
import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.bean.AbstractBean;
+import org.jboss.webbeans.bean.EnterpriseBean;
import org.jboss.webbeans.bean.ProducerMethodBean;
import org.jboss.webbeans.bean.SimpleBean;
import org.jboss.webbeans.introspector.AnnotatedClass;
@@ -23,6 +24,11 @@
return new SimpleBean<T>(createSimpleModel(clazz, manager), manager);
}
+ public static <T> EnterpriseBean<T> createSimpleEnterpriseBean(Class<T> clazz, ManagerImpl manager)
+ {
+ return new EnterpriseBean<T>(createEnterpriseBeanModel(clazz, manager), manager);
+ }
+
public static <T> SimpleBeanModel<T> createSimpleModel(Class<T> clazz, ManagerImpl manager)
{
return new SimpleBeanModel<T>(new SimpleAnnotatedClass<T>(clazz), null, manager);
More information about the weld-commits
mailing list