package org.jboss.web.tomcat.tc5;
import org.apache.catalina.loader.WebappClassLoader;
import org.jboss.logging.Logger;
public class WebAppClassLoader extends WebappClassLoader
{
static Logger log = Logger.getLogger(WebAppClassLoader.class);
private String[] filteredPackages = {
"org.apache.commons.logging"
};
public WebAppClassLoader()
{
}
public WebAppClassLoader(ClassLoader parent)
{
super(parent);
}
public String[] getFilteredPackages()
{
return filteredPackages;
}
public void setFilteredPackages(String[] pkgs)
{
this.filteredPackages = pkgs;
}
protected boolean filter(String name)
{
boolean excludeClass = super.filter(name);
if( excludeClass == false )
{
int length = filteredPackages != null ? filteredPackages.length : 0;
for(int n = 0; n < length; n ++)
{
String pkg = filteredPackages[n];
if( name.startsWith(pkg) )
{
excludeClass = true;
break;
}
}
}
log.trace("filter name="+name+", exclude="+excludeClass);
return excludeClass;
}
}