net.sf.jzeno.classloader
Class JZenoClassLoader

java.lang.Object
  extended by java.lang.ClassLoader
      extended by java.security.SecureClassLoader
          extended by java.net.URLClassLoader
              extended by net.sf.jzeno.classloader.JZenoClassLoader

public class JZenoClassLoader
extends java.net.URLClassLoader

The JZeno classloader is responsible for loading all classes contained in the classes and rclasses directories. All classed located in the rclasses directory can be reloaded. This implementation is based on the RIFE classloader implementation


Constructor Summary
JZenoClassLoader(java.lang.ClassLoader parent, java.lang.String webappPath)
           
 
Method Summary
static java.lang.String constructClassPath(java.lang.String classname)
           
 byte[] getClassBytes(java.lang.String className, boolean doAutoReload)
           
static long getSourceModificationTime(java.net.URL sourceResource)
           
protected  java.lang.Class loadClass(java.lang.String classname, boolean resolve)
           
 java.lang.Class loadClass(java.lang.String classname, boolean resolve, boolean reload, boolean forceReload)
           
 void markClassAsModified(java.lang.String classname)
           
 
Methods inherited from class java.net.URLClassLoader
addURL, definePackage, findClass, findResource, findResources, getPermissions, getURLs, newInstance, newInstance
 
Methods inherited from class java.security.SecureClassLoader
defineClass, defineClass
 
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findSystemClass, getPackage, getPackages, getParent, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JZenoClassLoader

public JZenoClassLoader(java.lang.ClassLoader parent,
                        java.lang.String webappPath)
                 throws java.net.MalformedURLException
Throws:
java.net.MalformedURLException
Method Detail

loadClass

protected java.lang.Class loadClass(java.lang.String classname,
                                    boolean resolve)
                             throws java.lang.ClassNotFoundException
Overrides:
loadClass in class java.lang.ClassLoader
Throws:
java.lang.ClassNotFoundException

markClassAsModified

public void markClassAsModified(java.lang.String classname)

loadClass

public java.lang.Class loadClass(java.lang.String classname,
                                 boolean resolve,
                                 boolean reload,
                                 boolean forceReload)
                          throws java.lang.ClassNotFoundException
Throws:
java.lang.ClassNotFoundException

constructClassPath

public static java.lang.String constructClassPath(java.lang.String classname)

getClassBytes

public byte[] getClassBytes(java.lang.String className,
                            boolean doAutoReload)
                     throws java.lang.ClassNotFoundException
Throws:
java.lang.ClassNotFoundException

getSourceModificationTime

public static long getSourceModificationTime(java.net.URL sourceResource)