Class 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
      • 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)
      • 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