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 booleanaddResourceStore(ResourceStore pStore)voidclearAssertionStatus()java.net.URLgetResource(java.lang.String name)java.io.InputStreamgetResourceAsStream(java.lang.String name)voidhandleNotification()java.lang.Class<?>loadClass(java.lang.String name)booleanremoveResourceStore(ResourceStore pStore)voidsetClassAssertionStatus(java.lang.String className, boolean enabled)voidsetDefaultAssertionStatus(boolean enabled)voidsetPackageAssertionStatus(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:
handleNotificationin interfaceReloadNotificationListener
-
clearAssertionStatus
public void clearAssertionStatus()
- Overrides:
clearAssertionStatusin classjava.lang.ClassLoader
-
getResource
public java.net.URL getResource(java.lang.String name)
- Overrides:
getResourcein classjava.lang.ClassLoader
-
getResourceAsStream
public java.io.InputStream getResourceAsStream(java.lang.String name)
- Overrides:
getResourceAsStreamin classjava.lang.ClassLoader
-
loadClass
public java.lang.Class<?> loadClass(java.lang.String name) throws java.lang.ClassNotFoundException- Overrides:
loadClassin classjava.lang.ClassLoader- Throws:
java.lang.ClassNotFoundException
-
setClassAssertionStatus
public void setClassAssertionStatus(java.lang.String className, boolean enabled)- Overrides:
setClassAssertionStatusin classjava.lang.ClassLoader
-
setDefaultAssertionStatus
public void setDefaultAssertionStatus(boolean enabled)
- Overrides:
setDefaultAssertionStatusin classjava.lang.ClassLoader
-
setPackageAssertionStatus
public void setPackageAssertionStatus(java.lang.String packageName, boolean enabled)- Overrides:
setPackageAssertionStatusin classjava.lang.ClassLoader
-
-