org.openejb.util
Class SafeToolkit

java.lang.Object
  |
  +--org.openejb.util.SafeToolkit

public class SafeToolkit
extends java.lang.Object


Field Summary
protected static java.util.HashMap codebases
           
 
Constructor Summary
protected SafeToolkit(java.lang.String systemLocation)
          Creates a new SafeToolkit dedicated to the specified system location.
 
Method Summary
 java.lang.Class forName(java.lang.String className)
          Attempts to find and load the specified class.
 java.lang.Class forName(java.lang.String className, java.lang.String codebase)
          Attempts to find and load the specified class, using the specified codebase.
protected static java.lang.ClassLoader getCodebaseClassLoader(java.lang.String codebase)
          Ensures that a class loader for each code base used in the system is created at most one time.
 SafeProperties getSafeProperties(java.util.Properties props)
          Returns a new SafeProperties instance dedicated to this toolkit.
static SafeToolkit getToolkit(java.lang.String systemLocation)
          Returns an instance of a SafeToolkit dedicated to the specified system location.
static java.lang.Class loadClass(java.lang.String className, java.lang.String codebase)
          Loads the class using the class loader for the specific codebase.
 java.lang.Object newInstance(java.lang.Class clazz)
          Attempts to instaniate the specified class.
 java.lang.Object newInstance(java.lang.String className)
          Attempts to find and load the specified class then instaniate it.
 java.lang.Object newInstance(java.lang.String className, java.lang.String codebase)
          Attempts to find and load the specified class then instaniate it.
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

codebases

protected static java.util.HashMap codebases
Constructor Detail

SafeToolkit

protected SafeToolkit(java.lang.String systemLocation)
Creates a new SafeToolkit dedicated to the specified system location.
Method Detail

getToolkit

public static SafeToolkit getToolkit(java.lang.String systemLocation)
Returns an instance of a SafeToolkit dedicated to the specified system location.

forName

public java.lang.Class forName(java.lang.String className)
                        throws OpenEJBException
Attempts to find and load the specified class.
Parameters:
className - the name of the class to be loaded.
Throws:
OpenEJBExcption - if the class cannot be found.

forName

public java.lang.Class forName(java.lang.String className,
                               java.lang.String codebase)
                        throws OpenEJBException
Attempts to find and load the specified class, using the specified codebase. If the codebase is null, the bootstrap classloader is used.
Parameters:
className - the name of the class to be loaded.
codebase - the codebase to load the class from.
Throws:
OpenEJBExcption - if the class cannot be found.

newInstance

public java.lang.Object newInstance(java.lang.String className)
                             throws OpenEJBException
Attempts to find and load the specified class then instaniate it.
Parameters:
className - the name of the class to be instantiated.
Throws:
OpenEJBException - if the class cannot be found or is not accessible .

newInstance

public java.lang.Object newInstance(java.lang.String className,
                                    java.lang.String codebase)
                             throws OpenEJBException
Attempts to find and load the specified class then instaniate it.
Parameters:
className - the name of the class to be instantiated.
Throws:
OpenEJBException - if the class cannot be found or is not accessible .

newInstance

public java.lang.Object newInstance(java.lang.Class clazz)
                             throws OpenEJBException
Attempts to instaniate the specified class.
Parameters:
className - the name of the class to be instantiated.
Throws:
OpenEJBException - if the class is not accessible .

getSafeProperties

public SafeProperties getSafeProperties(java.util.Properties props)
                                 throws OpenEJBException
Returns a new SafeProperties instance dedicated to this toolkit.
Parameters:
className - the name of the class to be instantiated.
Throws:
OpenEJBException - the properties object passed in is null.

loadClass

public static java.lang.Class loadClass(java.lang.String className,
                                        java.lang.String codebase)
                                 throws OpenEJBException
Loads the class using the class loader for the specific codebase. If the codebase is null, the bootstrap classloader is used.
Parameters:
className -  
codebase -  
Returns:
 
Throws:
java.lang.ClassNotFoundException -  
OpenEJBException -  

getCodebaseClassLoader

protected static java.lang.ClassLoader getCodebaseClassLoader(java.lang.String codebase)
                                                       throws OpenEJBException
Ensures that a class loader for each code base used in the system is created at most one time. The default bootsrap classloader is used if codebase is null.
Parameters:
codebase -  
Returns:
 
Throws:
OpenEJBException -