[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