[jboss-cvs] JBossAS SVN: r60223 - projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Feb 2 17:14:48 EST 2007


Author: kabir.khan at jboss.com
Date: 2007-02-02 17:14:48 -0500 (Fri, 02 Feb 2007)
New Revision: 60223

Modified:
   projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/GeneratedAOPProxyFactory.java
Log:


Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/GeneratedAOPProxyFactory.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/GeneratedAOPProxyFactory.java	2007-02-02 22:12:43 UTC (rev 60222)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/GeneratedAOPProxyFactory.java	2007-02-02 22:14:48 UTC (rev 60223)
@@ -26,7 +26,6 @@
 import org.jboss.aop.Advised;
 import org.jboss.aop.AspectManager;
 import org.jboss.aop.instrument.Untransformable;
-import org.jboss.aop.metadata.SimpleMetaData;
 //import org.jboss.repository.spi.MetaDataContext;
 
 /**
@@ -36,6 +35,30 @@
  */
 public class GeneratedAOPProxyFactory implements AOPProxyFactory
 {
+   /**
+    * Create a proxy 
+    * 
+    * @param <T> the expected type
+    * @param target the target
+    * @param interfaceClass the interface class
+    * @return the proxy
+    */
+   public static <T> T createProxy(T target, Class<T> interfaceClass)
+   {
+      if (target == null)
+         return null;
+
+      GeneratedAOPProxyFactory proxyFactory = new GeneratedAOPProxyFactory();
+      AOPProxyFactoryParameters params = new AOPProxyFactoryParameters();
+      params.setInterfaces(new Class[] { interfaceClass });
+      params.setObjectAsSuperClass(true);
+      params.setTarget(target);
+      Object proxy = proxyFactory.createAdvisedProxy(params);
+      if( AspectManager.verbose )
+         System.out.println("[debug] Created proxy: "+proxy.getClass()+"@"+System.identityHashCode(proxy)+" target: "+target.getClass());
+      return interfaceClass.cast(proxy);
+   }
+   
    public Object createAdvisedProxy(AOPProxyFactoryParameters params)
    {
       if (params.getTarget() != null)




More information about the jboss-cvs-commits mailing list