org.openejb.ri.server
Class RiClassLoader

java.lang.Object
  |
  +--java.lang.ClassLoader
        |
        +--org.openejb.ri.server.RiClassLoader

public class RiClassLoader
extends java.lang.ClassLoader

Dynamic ClassLoader that loads classes from the NamingServer. Classes from the NamingSever are .class files from the server's classpath or byte-code of generated proxies.


Inner classes inherited from class java.lang.ClassLoader
java.lang.ClassLoader.NativeLibrary
 
Field Summary
(package private) static java.lang.Byte CLASS_REQUEST
           
(package private) static java.lang.Byte CLOSE_CONNECTION
           
 
Fields inherited from class java.lang.ClassLoader
nocerts
 
Constructor Summary
(package private) RiClassLoader(java.util.Hashtable environment)
           
 
Method Summary
protected  void finalize()
           
protected  java.lang.Class findClass(java.lang.String name)
          Finds the specified class.
protected  java.lang.Class loadClass(java.lang.String name, boolean resolve)
          This method should not need to be overridden by subclasses.
 
Methods inherited from class java.lang.ClassLoader
, addClass, defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findNative, findResource, findResources, findSystemClass, getBootstrapClassPath, getCallerClassLoader, getGetClassLoaderPerm, getPackage, getPackages, getParent, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, isAncestor, loadClass, loadLibrary, resolveClass, setSigners
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CLASS_REQUEST

static final java.lang.Byte CLASS_REQUEST

CLOSE_CONNECTION

static final java.lang.Byte CLOSE_CONNECTION
Constructor Detail

RiClassLoader

RiClassLoader(java.util.Hashtable environment)
        throws javax.naming.NamingException
Method Detail

finalize

protected void finalize()
                 throws java.lang.Throwable
Overrides:
finalize in class java.lang.Object

loadClass

protected java.lang.Class loadClass(java.lang.String name,
                                    boolean resolve)
                             throws java.lang.ClassNotFoundException
This method should not need to be overridden by subclasses. It is done here because of a bug in the VM. This method was overriden using the algorithm of it's superclass with one workaround that reliably calls the findClass method. No other changes should be made in this method.
Overrides:
loadClass in class java.lang.ClassLoader
Parameters:
name -  
resolve -  
Returns:
 
Throws:
java.lang.ClassNotFoundException -  

findClass

protected java.lang.Class findClass(java.lang.String name)
                             throws java.lang.ClassNotFoundException
Finds the specified class. This method should be overridden by class loader implementations that follow the new delegation model for loading classes, and will be called by the loadClass method after checking the parent class loader for the requested class. The default implementation throws ClassNotFoundException.
Overrides:
findClass in class java.lang.ClassLoader
Parameters:
name - the name of the class
Returns:
the resulting Class object
Throws:
java.lang.ClassNotFoundException - if the class could not be found
Since:
JDK1.2