com.sun.enterprise.module.impl
Class ClassLoaderProxy

java.lang.Object
  extended by java.lang.ClassLoader
      extended by java.security.SecureClassLoader
          extended by java.net.URLClassLoader
              extended by com.sun.enterprise.module.impl.ClassLoaderProxy

public class ClassLoaderProxy
extends java.net.URLClassLoader

ClassLoaderProxy capable of loading classes from itself but also from other class loaders

Author:
Jerome Dochez

Constructor Summary
ClassLoaderProxy(java.net.URL[] shared, java.lang.ClassLoader parent)
          Creates a new instance of ClassLoader
 
Method Summary
 void addDelegate(java.lang.ClassLoader cl)
           
 void addURL(java.net.URL url)
          Appends the specified URL to the list of URLs to search for classes and resources.
protected  void finalize()
           
protected  java.lang.Class<?> findClass(java.lang.String name)
           
protected  java.lang.Class<?> findClass(java.lang.String name, boolean followImports)
           
 java.net.URL findResource(java.lang.String name)
           
 java.net.URL findResourceDirect(java.lang.String name)
          Works like findResource(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)
           
 void removeDelegate(java.lang.ClassLoader cl)
           
 void stop()
          called by the facade class loader when it is garbage collected.
 java.lang.String toString()
           
 
Methods inherited from class java.net.URLClassLoader
definePackage, getPermissions, getURLs, newInstance, newInstance
 
Methods inherited from class java.security.SecureClassLoader
defineClass, defineClass
 
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findSystemClass, getPackage, getPackages, getParent, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, loadClass, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ClassLoaderProxy

public ClassLoaderProxy(java.net.URL[] shared,
                        java.lang.ClassLoader parent)
Creates a new instance of ClassLoader

Method Detail

finalize

protected void finalize()
                 throws java.lang.Throwable
Overrides:
finalize in class java.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:
findClass in class java.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

findResource

public java.net.URL findResource(java.lang.String name)
Overrides:
findResource in class java.net.URLClassLoader

findResourceDirect

public java.net.URL findResourceDirect(java.lang.String name)
Works like findResource(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:
findResources in class java.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:
toString in class java.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:
addURL in class java.net.URLClassLoader
Parameters:
url - the url to append


Copyright © 2011 Oracle Corporation. All Rights Reserved.