org.apache.commons.jci
Class ReloadingClassLoader

java.lang.Object
  extended by java.lang.ClassLoader
      extended by 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 change in the underlying ResoruceStore.

Author:
tcurdt

Constructor Summary
ReloadingClassLoader(java.lang.ClassLoader pParent)
           
 
Method Summary
 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, findLibrary, findLoadedClass, findResource, findResources, findSystemClass, getPackage, getPackages, getParent, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, resolveClass, setSigners
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ReloadingClassLoader

public ReloadingClassLoader(java.lang.ClassLoader pParent)
Method Detail

addResourceStore

public boolean addResourceStore(ResourceStore pStore)

removeResourceStore

public boolean removeResourceStore(ResourceStore pStore)

handleNotification

public void handleNotification()
Specified by:
handleNotification in interface ReloadNotificationListener

clearAssertionStatus

public void clearAssertionStatus()
Overrides:
clearAssertionStatus in class java.lang.ClassLoader

getResource

public java.net.URL getResource(java.lang.String name)
Overrides:
getResource in class java.lang.ClassLoader

getResourceAsStream

public java.io.InputStream getResourceAsStream(java.lang.String name)
Overrides:
getResourceAsStream in class java.lang.ClassLoader

loadClass

public java.lang.Class loadClass(java.lang.String name)
                          throws java.lang.ClassNotFoundException
Overrides:
loadClass in class java.lang.ClassLoader
Throws:
java.lang.ClassNotFoundException

setClassAssertionStatus

public void setClassAssertionStatus(java.lang.String className,
                                    boolean enabled)
Overrides:
setClassAssertionStatus in class java.lang.ClassLoader

setDefaultAssertionStatus

public void setDefaultAssertionStatus(boolean enabled)
Overrides:
setDefaultAssertionStatus in class java.lang.ClassLoader

setPackageAssertionStatus

public void setPackageAssertionStatus(java.lang.String packageName,
                                      boolean enabled)
Overrides:
setPackageAssertionStatus in class java.lang.ClassLoader


Copyright © 2004-2010 Apache Software Foundation. All Rights Reserved.