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:13 UTC

svn commit: r1089566 - /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticManager.java

Author: hlship
Date: Wed Apr  6 19:10:13 2011
New Revision: 1089566

URL: http://svn.apache.org/viewvc?rev=1089566&view=rev
Log:
TAP5-853: Make it easier to instantiate a PlasticManager with just a parent class loader

Modified:
    tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticManager.java

Modified: tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticManager.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticManager.java?rev=1089566&r1=1089565&r2=1089566&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticManager.java (original)
+++ tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticManager.java Wed Apr  6 19:10:13 2011
@@ -37,7 +37,17 @@ public class PlasticManager
      */
     public PlasticManager()
     {
-        this(Thread.currentThread().getContextClassLoader(), new NoopDelegate(), Collections.<String> emptySet());
+        this(Thread.currentThread().getContextClassLoader());
+    }
+
+    /**
+     * Creates a PlasticManager using the Thread's contextClassLoader as the parent class loader. No classes will
+     * be automatically transformed, but instead {@link #createClass(Class, CreateClassCallback)} can be used to create
+     * entirely new classes.
+     */
+    public PlasticManager(ClassLoader parentClassLoader)
+    {
+        this(parentClassLoader, new NoopDelegate(), Collections.<String> emptySet());
     }
 
     /**
@@ -48,17 +58,18 @@ public class PlasticManager
      *            main source for (untransformed) classes
      * @param delegate
      *            performs transformations on top-level classes from controlled packages
-     * @param controlledPackageName
+     * @param controlledPackageNames
      *            defines the packages that are to be transformed; top-classes in these packages
      *            (or sub-packages) will be passed to the delegate for transformation
      */
     public PlasticManager(ClassLoader parentClassLoader, PlasticManagerDelegate delegate,
-            Set<String> controlledPackageName)
+            Set<String> controlledPackageNames)
     {
         assert parentClassLoader != null;
         assert delegate != null;
+        assert controlledPackageNames != null;
 
-        pool = new PlasticClassPool(parentClassLoader, delegate, controlledPackageName);
+        pool = new PlasticClassPool(parentClassLoader, delegate, controlledPackageNames);
     }
 
     /**