| NoAnnotationURLClassLoader.java |
/***************************************
* *
* JBoss: The OpenSource J2EE WebOS *
* *
* Distributable under LGPL license. *
* See terms of license at gnu.org. *
* *
***************************************/
package org.jboss.system.server;
import java.net.URL;
import java.net.URLClassLoader;
import java.net.URLStreamHandlerFactory;
/**
* A URL classloader to avoid URL annotation of classes in RMI
*
* @author <a href="mailto:Adrian.Brock@HappeningTimes.com">Adrian Brock</a>
* @version $Revision: 1.3 $
*/
public class NoAnnotationURLClassLoader
extends URLClassLoader
{
/** The value returned by {@link getURLs}. */
private static final URL[] EMPTY_URL_ARRAY = {};
/**
* Construct a <tt>URLClassLoader</tt>
*
* @param urls the URLs to load classes from.
*/
public NoAnnotationURLClassLoader(URL[] urls)
{
super(urls);
}
/**
* Construct a <tt>URLClassLoader</tt>
*
* @param urls the URLs to load classes from.
* @param parent the parent classloader.
*/
public NoAnnotationURLClassLoader(URL[] urls, ClassLoader parent)
{
super(urls, parent);
}
/**
* Construct a <tt>URLClassLoader</tt>
*
* @param urls the URLs to load classes from.
* @param parent the parent classloader.
* @param factory the url stream factory.
*/
public NoAnnotationURLClassLoader(URL[] urls, ClassLoader parent,
URLStreamHandlerFactory factory)
{
super(urls, parent, factory);
}
/**
* Return all library URLs
*
* <p>Do not remove this method without running the WebIntegrationTestSuite
*/
public URL[] getAllURLs()
{
return super.getURLs();
}
/**
* Return an empty URL array to force the RMI marshalling subsystem to
* use the <tt>java.server.codebase</tt> property as the annotated codebase.
*
* <p>Do not remove this method without discussing it on the dev list.
*
* @return Empty URL[]
*/
public URL[] getURLs()
{
return EMPTY_URL_ARRAY;
}
}
| NoAnnotationURLClassLoader.java |