org.apache.axis.utils

Class JWSClassLoader


public class JWSClassLoader
extends 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.

Authors:
Glen Daniels (gdaniels@apache.org)
Doug Davis (dug@us.ibm.com)

Constructor Summary

JWSClassLoader(String name, ClassLoader cl, 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

InputStream
getResourceAsStream(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.

Constructor Details

JWSClassLoader

public JWSClassLoader(String name,
                      ClassLoader cl,
                      String classFile)
            throws FileNotFoundException,
                   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

Method Details

getResourceAsStream

public InputStream getResourceAsStream(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.

Parameters:
resourceName - the resource to load (should be "classname.class")

Returns:
an InputStream of the class bytes, or null


Copyright B) 2005 Apache Web Services Project. All Rights Reserved.