[jboss-cvs] JBossAS SVN: r80460 - projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/cache.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Nov 4 04:27:54 EST 2008


Author: alesj
Date: 2008-11-04 04:27:54 -0500 (Tue, 04 Nov 2008)
New Revision: 80460

Modified:
   projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/cache/PreInitializeVFSContexts.java
Log:
HoldReferences flag.

Modified: projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/cache/PreInitializeVFSContexts.java
===================================================================
--- projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/cache/PreInitializeVFSContexts.java	2008-11-04 08:19:46 UTC (rev 80459)
+++ projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/cache/PreInitializeVFSContexts.java	2008-11-04 09:27:54 UTC (rev 80460)
@@ -22,6 +22,7 @@
 package org.jboss.virtual.plugins.cache;
 
 import java.net.URL;
+import java.util.ArrayList;
 import java.util.List;
 
 import org.jboss.logging.Logger;
@@ -36,6 +37,8 @@
 {
    private Logger log = Logger.getLogger(PreInitializeVFSContexts.class);
    private List<URL> initializedVFSContexts;
+   private boolean holdReference;
+   private List<VFS> references;
 
    /**
     * Start initializer.
@@ -46,15 +49,41 @@
    {
       if (initializedVFSContexts != null && initializedVFSContexts.isEmpty() == false)
       {
+         if (holdReference)
+            references = new ArrayList<VFS>();
+
          for (URL url : initializedVFSContexts)
          {
             VFS vfs = VFS.getVFS(url);
             log.debug("Initialized Virtual File: " + vfs.getRoot());
+            if (holdReference)
+            {
+               references.add(vfs);
+            }
          }
       }
    }
 
    /**
+    * Clear possible references.
+    */
+   public void stop()
+   {
+      if (references != null)
+         references.clear();
+   }
+
+   /**
+    * Get VFS references.
+    *
+    * @return the VFS references
+    */
+   public List<VFS> getReferences()
+   {
+      return references;
+   }
+
+   /**
     * Set URLs that need to be initialized before anything else.
     *
     * @param initializedVFSContexts the URLs to be initialized
@@ -63,4 +92,14 @@
    {
       this.initializedVFSContexts = initializedVFSContexts;
    }
+
+   /**
+    * Should we hold the reference to initialized VFSs.
+    *
+    * @param holdReference the hold reference flag
+    */
+   public void setHoldReference(boolean holdReference)
+   {
+      this.holdReference = holdReference;
+   }
 }




More information about the jboss-cvs-commits mailing list