Package org.apache.commons.jci
Class ReloadingClassLoader
- java.lang.Object
-
- java.lang.ClassLoader
-
- org.apache.commons.jci.ReloadingClassLoader
-
- All Implemented Interfaces:
ReloadNotificationListener
public class ReloadingClassLoader extends java.lang.ClassLoader implements ReloadNotificationListener
The ReloadingClassLoader uses a delegation mechansim to allow classes to be reloaded. That means that loadClass calls may return different results if the class was changed in the underlying ResourceStore.- Author:
- tcurdt
-
-
Constructor Summary
Constructors Constructor Description ReloadingClassLoader(java.lang.ClassLoader pParent)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
addResourceStore(ResourceStore pStore)
void
clearAssertionStatus()
java.net.URL
getResource(java.lang.String name)
java.io.InputStream
getResourceAsStream(java.lang.String name)
void
handleNotification()
java.lang.Class<?>
loadClass(java.lang.String name)
boolean
removeResourceStore(ResourceStore pStore)
void
setClassAssertionStatus(java.lang.String className, boolean enabled)
void
setDefaultAssertionStatus(boolean enabled)
void
setPackageAssertionStatus(java.lang.String packageName, boolean enabled)
-
Methods inherited from class java.lang.ClassLoader
defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findClass, findLibrary, findLoadedClass, findResource, findResource, findResources, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, registerAsParallelCapable, resolveClass, resources, setSigners
-
-
-
-
Method Detail
-
addResourceStore
public boolean addResourceStore(ResourceStore pStore)
-
removeResourceStore
public boolean removeResourceStore(ResourceStore pStore)
-
handleNotification
public void handleNotification()
- Specified by:
handleNotification
in interfaceReloadNotificationListener
-
clearAssertionStatus
public void clearAssertionStatus()
- Overrides:
clearAssertionStatus
in classjava.lang.ClassLoader
-
getResource
public java.net.URL getResource(java.lang.String name)
- Overrides:
getResource
in classjava.lang.ClassLoader
-
getResourceAsStream
public java.io.InputStream getResourceAsStream(java.lang.String name)
- Overrides:
getResourceAsStream
in classjava.lang.ClassLoader
-
loadClass
public java.lang.Class<?> loadClass(java.lang.String name) throws java.lang.ClassNotFoundException
- Overrides:
loadClass
in classjava.lang.ClassLoader
- Throws:
java.lang.ClassNotFoundException
-
setClassAssertionStatus
public void setClassAssertionStatus(java.lang.String className, boolean enabled)
- Overrides:
setClassAssertionStatus
in classjava.lang.ClassLoader
-
setDefaultAssertionStatus
public void setDefaultAssertionStatus(boolean enabled)
- Overrides:
setDefaultAssertionStatus
in classjava.lang.ClassLoader
-
setPackageAssertionStatus
public void setPackageAssertionStatus(java.lang.String packageName, boolean enabled)
- Overrides:
setPackageAssertionStatus
in classjava.lang.ClassLoader
-
-