[jboss-cvs] JBossAS SVN: r101426 - projects/jboss-classpool/trunk/scopedpool/src/main/java/org/jboss/classpool/scoped.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Feb 24 16:09:10 EST 2010


Author: flavia.rainone at jboss.com
Date: 2010-02-24 16:09:10 -0500 (Wed, 24 Feb 2010)
New Revision: 101426

Modified:
   projects/jboss-classpool/trunk/scopedpool/src/main/java/org/jboss/classpool/scoped/ScopedClassPoolRepositoryImpl.java
Log:
[JBREFLECT-96] ScopedCPRepository is no longer singleton, it is an abstract class with a protected constructor instead. The default class pool can be defined as a parameter of the constructor.

Modified: projects/jboss-classpool/trunk/scopedpool/src/main/java/org/jboss/classpool/scoped/ScopedClassPoolRepositoryImpl.java
===================================================================
--- projects/jboss-classpool/trunk/scopedpool/src/main/java/org/jboss/classpool/scoped/ScopedClassPoolRepositoryImpl.java	2010-02-24 20:57:26 UTC (rev 101425)
+++ projects/jboss-classpool/trunk/scopedpool/src/main/java/org/jboss/classpool/scoped/ScopedClassPoolRepositoryImpl.java	2010-02-24 21:09:10 UTC (rev 101426)
@@ -29,7 +29,6 @@
 import java.util.WeakHashMap;
 
 import javassist.ClassPool;
-import javassist.LoaderClassPath;
 
 /**
  * An implementation of <code>ScopedClassPoolRepository</code>.
@@ -38,9 +37,7 @@
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * @version $Revision$
  */
-public class ScopedClassPoolRepositoryImpl implements ScopedClassPoolRepository {
-   /** The instance */
-   private static final ScopedClassPoolRepositoryImpl instance = new ScopedClassPoolRepositoryImpl();
+public abstract class ScopedClassPoolRepositoryImpl implements ScopedClassPoolRepository {
 
    /** Whether to prune */
    private boolean prune = true;
@@ -59,25 +56,14 @@
    protected ScopedClassPoolFactory factory = new ScopedClassPoolFactoryImpl();
 
    /**
-    * Get the instance.
-    * 
-    * @return the instance.
+    * Constructor
+    * @param systemClassPool the systemClassPool
     */
-   public static ScopedClassPoolRepository getInstance() {
-      return instance;
+   protected ScopedClassPoolRepositoryImpl(ClassPool systemClassPool) {
+      classpool = systemClassPool;
    }
 
    /**
-    * Singleton.
-    */
-   private ScopedClassPoolRepositoryImpl() {
-      classpool = ClassPool.getDefault();
-      // FIXME This doesn't look correct
-      ClassLoader cl = Thread.currentThread().getContextClassLoader();
-      classpool.insertClassPath(new LoaderClassPath(cl));
-   }
-
-   /**
     * Returns the value of the prune attribute.
     * 
     * @return the prune.




More information about the jboss-cvs-commits mailing list