org.eclipse.birt.core.framework
Class URLClassLoader

java.lang.Object
  extended by java.lang.ClassLoader
      extended by java.security.SecureClassLoader
          extended by java.net.URLClassLoader
              extended by org.eclipse.birt.core.framework.URLClassLoader
Direct Known Subclasses:
OSGILauncher.ChildFirstURLClassLoader

public class URLClassLoader
extends java.net.URLClassLoader

A URL class loader with close API. Java's URL class loader locks the JAR file it loaded until the JVM exit. It may cause some problem when we need remove the JARs if the class loader are not used any more. BIRT's URL class loader add a new close() method to close the JAR files explicitly. Once the close() is called, the user can't use the class and the loaded classes any more.


Constructor Summary
URLClassLoader(java.net.URL[] urls)
           
URLClassLoader(java.net.URL[] urls, java.lang.ClassLoader parent)
           
 
Method Summary
 void addURL(java.net.URL url)
           
 void close()
           
protected  java.lang.Class<?> findClass(java.lang.String name)
           
 java.net.URL findResource(java.lang.String name)
           
 java.util.Enumeration<java.net.URL> findResources(java.lang.String name)
           
 java.net.URL[] getURLs()
           
 
Methods inherited from class java.net.URLClassLoader
definePackage, getPermissions, 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, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

URLClassLoader

public URLClassLoader(java.net.URL[] urls)

URLClassLoader

public URLClassLoader(java.net.URL[] urls,
                      java.lang.ClassLoader parent)
Method Detail

close

public void close()

addURL

public void addURL(java.net.URL url)
Overrides:
addURL in class java.net.URLClassLoader

getURLs

public java.net.URL[] getURLs()
Overrides:
getURLs in class java.net.URLClassLoader

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

findResource

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

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


Copyright © 2008 Actuate Corp. All rights reserved.