Package org.eclipse.birt.core.framework
Class URLClassLoader
java.lang.Object
java.lang.ClassLoader
java.security.SecureClassLoader
java.net.URLClassLoader
org.eclipse.birt.core.framework.URLClassLoader
- All Implemented Interfaces:
Closeable
,AutoCloseable
- Direct Known Subclasses:
OSGILauncher.ChildFirstURLClassLoader
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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
void
close()
static String
protected void
definePackage
(String className, org.eclipse.birt.core.framework.URLClassLoader.Resource resource) protected Class<?>
protected Class<?>
findClass1
(String name) findResource
(String name) protected URL
findResource1
(String name) findResources
(String name) protected Enumeration<URL>
findResources1
(String name) URL[]
getURLs()
Methods inherited from class java.net.URLClassLoader
definePackage, getPermissions, getResourceAsStream, newInstance, newInstance
Methods inherited from class java.security.SecureClassLoader
defineClass, defineClass
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
-
Constructor Details
-
URLClassLoader
-
URLClassLoader
-
-
Method Details
-
close
public void close()- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classURLClassLoader
-
addURL
- Overrides:
addURL
in classURLClassLoader
-
getURLs
- Overrides:
getURLs
in classURLClassLoader
-
findClass
- Overrides:
findClass
in classURLClassLoader
- Throws:
ClassNotFoundException
-
findClass1
- Throws:
ClassNotFoundException
-
definePackage
protected void definePackage(String className, org.eclipse.birt.core.framework.URLClassLoader.Resource resource) -
findResource
- Overrides:
findResource
in classURLClassLoader
-
findResource1
-
findResources
- Overrides:
findResources
in classURLClassLoader
-
findResources1
-
decode
-