You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by hl...@apache.org on 2011/04/06 21:10:30 UTC

svn commit: r1089571 - in /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc: internal/services/PlasticProxyFactoryImpl.java services/PlasticProxyFactory.java

Author: hlship
Date: Wed Apr  6 19:10:29 2011
New Revision: 1089571

URL: http://svn.apache.org/viewvc?rev=1089571&view=rev
Log:
TAP5-853: Extend createProxyTransformation() to the PlasticProxyFactory

Modified:
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/PlasticProxyFactoryImpl.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/services/PlasticProxyFactory.java

Modified: tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/PlasticProxyFactoryImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/PlasticProxyFactoryImpl.java?rev=1089571&r1=1089570&r2=1089571&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/PlasticProxyFactoryImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/PlasticProxyFactoryImpl.java Wed Apr  6 19:10:29 2011
@@ -2,6 +2,7 @@ package org.apache.tapestry5.ioc.interna
 
 import org.apache.tapestry5.ioc.services.PlasticProxyFactory;
 import org.apache.tapestry5.plastic.ClassInstantiator;
+import org.apache.tapestry5.plastic.PlasticClassTransformation;
 import org.apache.tapestry5.plastic.PlasticClassTransformer;
 import org.apache.tapestry5.plastic.PlasticManager;
 
@@ -23,4 +24,10 @@ public class PlasticProxyFactoryImpl imp
     {
         return manager.createProxy(interfaceType, callback);
     }
+
+    public PlasticClassTransformation createProxyTransformation(Class interfaceType)
+    {
+        return manager.createProxyTransformation(interfaceType);
+    }
+
 }

Modified: tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/services/PlasticProxyFactory.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/services/PlasticProxyFactory.java?rev=1089571&r1=1089570&r2=1089571&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/services/PlasticProxyFactory.java (original)
+++ tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/services/PlasticProxyFactory.java Wed Apr  6 19:10:29 2011
@@ -15,6 +15,7 @@
 package org.apache.tapestry5.ioc.services;
 
 import org.apache.tapestry5.plastic.ClassInstantiator;
+import org.apache.tapestry5.plastic.PlasticClassTransformation;
 import org.apache.tapestry5.plastic.PlasticClassTransformer;
 
 /**
@@ -41,4 +42,15 @@ public interface PlasticProxyFactory
      * @return instantiator that can be used to create an instance of the proxy class
      */
     ClassInstantiator createProxy(Class interfaceType, PlasticClassTransformer callback);
+
+    /**
+     * Creates the underlying {@link PlasticClassTransformation} for an interface proxy. This should only be
+     * used in the cases where encapsulating the PlasticClass construction into a {@linkplain PlasticClassTransformer
+     * callback} is not feasible (which is the case for some of the older APIs inside Tapestry IoC).
+     * 
+     * @param interfaceType
+     *            class proxy will extend from
+     * @return transformation from which an instantiator may be created
+     */
+    PlasticClassTransformation createProxyTransformation(Class interfaceType);
 }