[jboss-cvs] JBossAS SVN: r64253 - projects/microcontainer/trunk/classloader/src/main/org/jboss/classloader/spi/filter.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Jul 24 12:57:18 EDT 2007


Author: adrian at jboss.org
Date: 2007-07-24 12:57:18 -0400 (Tue, 24 Jul 2007)
New Revision: 64253

Modified:
   projects/microcontainer/trunk/classloader/src/main/org/jboss/classloader/spi/filter/PackageClassFilter.java
Log:
Add an easy way for the package class filter to include standard java classes
as well.

Modified: projects/microcontainer/trunk/classloader/src/main/org/jboss/classloader/spi/filter/PackageClassFilter.java
===================================================================
--- projects/microcontainer/trunk/classloader/src/main/org/jboss/classloader/spi/filter/PackageClassFilter.java	2007-07-24 16:55:04 UTC (rev 64252)
+++ projects/microcontainer/trunk/classloader/src/main/org/jboss/classloader/spi/filter/PackageClassFilter.java	2007-07-24 16:57:18 UTC (rev 64253)
@@ -23,6 +23,7 @@
 
 import java.util.Arrays;
 
+import org.jboss.classloader.plugins.filter.JavaOnlyClassFilter;
 import org.jboss.classloader.plugins.filter.PatternClassFilter;
 
 /**
@@ -36,6 +37,9 @@
    /** The patterns as regular expressions */
    private String[] packageNames;
    
+   /** Whether to include java */
+   private boolean includeJava = false;
+   
    /**
     * Convert package names to class patterns
     * 
@@ -114,9 +118,51 @@
       this.packageNames = packageNames;
    }
 
+   /**
+    * Get the includeJava.
+    * 
+    * @return the includeJava.
+    */
+   public boolean isIncludeJava()
+   {
+      return includeJava;
+   }
+
+   /**
+    * Set the includeJava.
+    * 
+    * @param includeJava the includeJava.
+    */
+   public void setIncludeJava(boolean includeJava)
+   {
+      this.includeJava = includeJava;
+   }
+
+   public boolean matchesClassName(String className)
+   {
+      if (super.matchesClassName(className))
+         return true;
+      if (includeJava == false)
+         return false;
+      return JavaOnlyClassFilter.INSTANCE.matchesClassName(className);
+   }
+
+   public boolean matchesResourcePath(String resourcePath)
+   {
+      if (super.matchesResourcePath(resourcePath))
+         return true;
+      if (includeJava == false)
+         return false;
+      return JavaOnlyClassFilter.INSTANCE.matchesResourcePath(resourcePath);
+   }
+
    @Override
    public String toString()
    {
-      return Arrays.asList(packageNames).toString();
+      StringBuilder builder = new StringBuilder();
+      builder.append(Arrays.asList(packageNames));
+      if (includeJava)
+         builder.append(" <INCLUDE_JAVA>");
+      return builder.toString();
    }
 }




More information about the jboss-cvs-commits mailing list