[weld-commits] Weld SVN: r4631 - in core/trunk/impl/src/main/java/org/jboss/weld: bean and 1 other directories.

weld-commits at lists.jboss.org weld-commits at lists.jboss.org
Tue Nov 3 15:18:24 EST 2009


Author: pete.muir at jboss.org
Date: 2009-11-03 15:18:23 -0500 (Tue, 03 Nov 2009)
New Revision: 4631

Modified:
   core/trunk/impl/src/main/java/org/jboss/weld/BeanManagerImpl.java
   core/trunk/impl/src/main/java/org/jboss/weld/bean/RIBean.java
   core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/AbstractBuiltInBean.java
Log:
Add ability to require a proxy

Modified: core/trunk/impl/src/main/java/org/jboss/weld/BeanManagerImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/BeanManagerImpl.java	2009-11-03 19:41:30 UTC (rev 4630)
+++ core/trunk/impl/src/main/java/org/jboss/weld/BeanManagerImpl.java	2009-11-03 20:18:23 UTC (rev 4631)
@@ -60,6 +60,7 @@
 import org.jboss.weld.bean.DecoratorImpl;
 import org.jboss.weld.bean.InterceptorImpl;
 import org.jboss.weld.bean.NewBean;
+import org.jboss.weld.bean.RIBean;
 import org.jboss.weld.bean.SessionBean;
 import org.jboss.weld.bean.builtin.AbstractBuiltInBean;
 import org.jboss.weld.bean.builtin.ExtensionBean;
@@ -911,7 +912,7 @@
       {
          creationalContext = ((WeldCreationalContext<?>) creationalContext).getCreationalContext(bean);
       }
-      if (getServices().get(MetaAnnotationStore.class).getScopeModel(bean.getScope()).isNormal())
+      if (isProxyRequired(bean))
       {
          if (creationalContext != null || getContext(bean.getScope()).get(bean) != null)
          {
@@ -927,6 +928,22 @@
          return getContext(bean.getScope()).get((Contextual) bean, creationalContext);
       }
    }
+   
+   private boolean isProxyRequired(Bean<?> bean)
+   {
+      if (getServices().get(MetaAnnotationStore.class).getScopeModel(bean.getScope()).isNormal())
+      {
+         return true;
+      }
+      else if (bean instanceof RIBean<?>)
+      {
+         return ((RIBean<?>) bean).isProxyRequired();
+      }
+      else
+      {
+         return false;
+      }
+   }
 
    public Object getReference(Bean<?> bean, Type beanType, CreationalContext<?> creationalContext)
    {

Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/RIBean.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/RIBean.java	2009-11-03 19:41:30 UTC (rev 4630)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/RIBean.java	2009-11-03 20:18:23 UTC (rev 4631)
@@ -72,6 +72,11 @@
 
    public abstract boolean isProxyable();
 
+   public boolean isProxyRequired()
+   {
+      return false;
+   }
+   
    public abstract boolean isPrimitive();
 
    public abstract Set<WeldInjectionPoint<?, ?>> getAnnotatedInjectionPoints();

Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/AbstractBuiltInBean.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/AbstractBuiltInBean.java	2009-11-03 19:41:30 UTC (rev 4630)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/AbstractBuiltInBean.java	2009-11-03 20:18:23 UTC (rev 4631)
@@ -108,9 +108,14 @@
    @Override
    public boolean isProxyable()
    {
-      return false;
+      return true;
    }
    
+   public boolean isProxyRequired()
+   {
+      return true;
+   }
+   
    @Override
    public String getDescription()
    {



More information about the weld-commits mailing list