public class ReleasableClassLoader extends java.net.URLClassLoader implements LoggerHolder, LoggerProviderHolder
Modifier and Type | Field and Description |
---|---|
protected LoggerHolder |
loggerProvider |
protected java.lang.ClassLoader |
parent |
protected boolean |
reverseClassLoading |
Constructor and Description |
---|
ReleasableClassLoader(java.lang.ClassLoader parent)
Build a new class loader.
|
Modifier and Type | Method and Description |
---|---|
void |
addJar(java.io.File file)
Add a jar file to the class path.
|
void |
clearLoggerProvider()
Clears the logger provider.
|
protected void |
finalize()
Default finalizer.
|
java.util.logging.Logger |
getLogger(java.lang.String name)
Get the associated logger.
|
com.exalead.mercury.plugin.CVPlugin |
getPlugin()
Get the plugin module associated with this class loader.
|
java.net.URL |
getResource(java.lang.String name) |
java.util.Enumeration<java.net.URL> |
getResources(java.lang.String name) |
boolean |
isServerClass(java.lang.String className) |
boolean |
isSystemClass(java.lang.String className) |
boolean |
isSystemOrServerClass(java.lang.String className) |
java.lang.Class<?> |
loadClass(java.lang.String name)
Load a class.
|
protected java.lang.Class<?> |
loadClass(java.lang.String name,
boolean resolve)
Load a class.
|
void |
release()
Release the class loader, if supported.
|
void |
setLoggerProvider(LoggerHolder provider)
Set the logger provider.
|
void |
setName(java.lang.String name) |
void |
setPlugin(com.exalead.mercury.plugin.CVPlugin plugin)
Associate a plugin module associated to this class loader.
|
void |
setReverseClassLoading(boolean value) |
java.lang.String |
toString() |
addURL, close, definePackage, findClass, findResource, findResources, getPermissions, getResourceAsStream, getURLs, newInstance, newInstance
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findSystemClass, getClassLoadingLock, getPackage, getPackages, getParent, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, registerAsParallelCapable, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
protected final java.lang.ClassLoader parent
protected LoggerHolder loggerProvider
protected boolean reverseClassLoading
public ReleasableClassLoader(java.lang.ClassLoader parent)
parent
- the parent class loader.public void setName(java.lang.String name)
public java.lang.String toString()
toString
in class java.lang.Object
public void setReverseClassLoading(boolean value)
public void setPlugin(com.exalead.mercury.plugin.CVPlugin plugin)
plugin
- The plugin module associated to this class loader.public com.exalead.mercury.plugin.CVPlugin getPlugin()
public void addJar(java.io.File file)
protected java.lang.Class<?> loadClass(java.lang.String name, boolean resolve) throws java.lang.ClassNotFoundException
loadClass
in class java.lang.ClassLoader
java.lang.ClassNotFoundException
public java.lang.Class<?> loadClass(java.lang.String name) throws java.lang.ClassNotFoundException
loadClass
in class java.lang.ClassLoader
java.lang.ClassNotFoundException
public void release() throws java.lang.NoSuchMethodError, java.io.IOException
java.lang.NoSuchMethodError
- if unsupported.java.io.IOException
protected void finalize()
finalize
in class java.lang.Object
public java.util.logging.Logger getLogger(java.lang.String name)
LoggerHolder
getLogger
in interface LoggerHolder
name
- logger name.public void setLoggerProvider(LoggerHolder provider)
LoggerProviderHolder
setLoggerProvider
in interface LoggerProviderHolder
provider
- the logger provider.public void clearLoggerProvider()
LoggerProviderHolder
clearLoggerProvider
in interface LoggerProviderHolder
public java.util.Enumeration<java.net.URL> getResources(java.lang.String name) throws java.io.IOException
getResources
in class java.lang.ClassLoader
java.io.IOException
public java.net.URL getResource(java.lang.String name)
getResource
in class java.lang.ClassLoader
public boolean isSystemClass(java.lang.String className)
public boolean isServerClass(java.lang.String className)
public boolean isSystemOrServerClass(java.lang.String className)
Copyright © 2013 Dassault Systèmes, All Rights Reserved.