org.apache.axis.utils
Class JWSClassLoader

java.lang.Object
  |
  +--java.lang.ClassLoader
        |
        +--org.apache.axis.utils.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
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
 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, definePackage, findClass, findLibrary, findLoadedClass, findResource, findResources, findSystemClass, getPackage, getPackages, getParent, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, 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

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


Copyright © 2003 Apache Web Services Project. All Rights Reserved.