Package com.sun.enterprise.module.impl
Class ClassLoaderProxy
- java.lang.Object
-
- java.lang.ClassLoader
-
- java.security.SecureClassLoader
-
- java.net.URLClassLoader
-
- com.sun.enterprise.module.impl.ClassLoaderProxy
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable
- Direct Known Subclasses:
ModuleClassLoader
public class ClassLoaderProxy extends java.net.URLClassLoaderClassLoaderProxy capable of loading classes from itself but also from other class loaders
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<ClassLoaderFacade>facadeSurrogatesprivate java.util.List<java.lang.ClassLoader>surrogates
-
Constructor Summary
Constructors Constructor Description ClassLoaderProxy(java.net.URL[] shared, java.lang.ClassLoader parent)Creates a new instance of ClassLoader
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddDelegate(java.lang.ClassLoader cl)voidaddURL(java.net.URL url)Appends the specified URL to the list of URLs to search for classes and resources.protected voidfinalize()protected java.lang.Class<?>findClass(java.lang.String name)protected java.lang.Class<?>findClass(java.lang.String name, boolean followImports)(package private) java.lang.ClassfindClassDirect(java.lang.String name)findClass(String)except the classloader punch-in hack.java.net.URLfindResource(java.lang.String name)java.net.URLfindResourceDirect(java.lang.String name)Works likefindResource(String)but only looks at this module, without delegating to ancestors.java.util.Enumeration<java.net.URL>findResources(java.lang.String name)java.util.Collection<java.lang.ClassLoader>getDelegates()protected java.lang.Class<?>loadClass(java.lang.String name, boolean resolve, boolean followImports)voidremoveDelegate(java.lang.ClassLoader cl)voidstop()called by the facade class loader when it is garbage collected.java.lang.StringtoString()-
Methods inherited from class java.net.URLClassLoader
close, definePackage, getPermissions, getResourceAsStream, getURLs, newInstance, newInstance
-
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findSystemClass, getClassLoadingLock, getPackage, getPackages, getParent, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, loadClass, registerAsParallelCapable, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
-
-
-
-
Field Detail
-
surrogates
private final java.util.List<java.lang.ClassLoader> surrogates
-
facadeSurrogates
private final java.util.List<ClassLoaderFacade> facadeSurrogates
-
-
Method Detail
-
finalize
protected void finalize() throws java.lang.Throwable- Overrides:
finalizein classjava.lang.Object- Throws:
java.lang.Throwable
-
loadClass
protected java.lang.Class<?> loadClass(java.lang.String name, boolean resolve, boolean followImports) throws java.lang.ClassNotFoundException- Throws:
java.lang.ClassNotFoundException
-
findClass
protected java.lang.Class<?> findClass(java.lang.String name) throws java.lang.ClassNotFoundException- Overrides:
findClassin classjava.net.URLClassLoader- Throws:
java.lang.ClassNotFoundException
-
findClass
protected java.lang.Class<?> findClass(java.lang.String name, boolean followImports) throws java.lang.ClassNotFoundException- Throws:
java.lang.ClassNotFoundException
-
findClassDirect
java.lang.Class findClassDirect(java.lang.String name) throws java.lang.ClassNotFoundExceptionfindClass(String)except the classloader punch-in hack.- Throws:
java.lang.ClassNotFoundException
-
findResource
public java.net.URL findResource(java.lang.String name)
- Overrides:
findResourcein classjava.net.URLClassLoader
-
findResourceDirect
public java.net.URL findResourceDirect(java.lang.String name)
Works likefindResource(String)but only looks at this module, without delegating to ancestors.
-
findResources
public java.util.Enumeration<java.net.URL> findResources(java.lang.String name) throws java.io.IOException- Overrides:
findResourcesin classjava.net.URLClassLoader- Throws:
java.io.IOException
-
addDelegate
public void addDelegate(java.lang.ClassLoader cl)
-
removeDelegate
public void removeDelegate(java.lang.ClassLoader cl)
-
getDelegates
public java.util.Collection<java.lang.ClassLoader> getDelegates()
-
stop
public void stop()
called by the facade class loader when it is garbage collected. this is a good time to see if this module should be unloaded.
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
addURL
public void addURL(java.net.URL url)
Appends the specified URL to the list of URLs to search for classes and resources.- Overrides:
addURLin classjava.net.URLClassLoader- Parameters:
url- the url to append
-
-