Class JWSClassLoader


  • public class JWSClassLoader
    extends java.lang.ClassLoader
    Class loader for JWS files. There is one of these per JWS class, and we keep a static Hashtable of them, indexed by class name. When we want to reload a JWS, we replace the ClassLoader for that class and let the old one get GC'ed.
    Author:
    Glen Daniels (gdaniels@apache.org), Doug Davis (dug@us.ibm.com)
    • Constructor Summary

      Constructors 
      Constructor Description
      JWSClassLoader​(java.lang.String name, java.lang.ClassLoader cl, java.lang.String classFile)
      Construct a JWSClassLoader with a class name, a parent ClassLoader, and a filename of a .class file containing the bytecode for the class.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.io.InputStream getResourceAsStream​(java.lang.String resourceName)
      Overloaded getResourceAsStream() so we can be sure to return the correct class file regardless of where it might live on our hard drive.
      • Methods inherited from class java.lang.ClassLoader

        clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findClass, findLibrary, findLoadedClass, findResource, findResource, findResources, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • JWSClassLoader

        public JWSClassLoader​(java.lang.String name,
                              java.lang.ClassLoader cl,
                              java.lang.String classFile)
                       throws java.io.FileNotFoundException,
                              java.io.IOException
        Construct a JWSClassLoader with a class name, a parent ClassLoader, and a filename of a .class file containing the bytecode for the class. The constructor will load the bytecode, define the class, and register this JWSClassLoader in the static registry.
        Parameters:
        name - the name of the class which will be created/loaded
        cl - the parent ClassLoader
        classFile - filename of the .class file
        Throws:
        java.io.FileNotFoundException
        java.io.IOException
    • Method Detail

      • getResourceAsStream

        public java.io.InputStream getResourceAsStream​(java.lang.String resourceName)
        Overloaded getResourceAsStream() so we can be sure to return the correct class file regardless of where it might live on our hard drive.
        Overrides:
        getResourceAsStream in class java.lang.ClassLoader
        Parameters:
        resourceName - the resource to load (should be "classname.class")
        Returns:
        an InputStream of the class bytes, or null