java.rmi.server
Class RMIClassLoader

java.lang.Object
  extended by java.rmi.server.RMIClassLoader

public class RMIClassLoader
extends Object

This class provides a set of public static utility methods for supporting network-based class loading in RMI. These methods are called by RMI's internal marshal streams to implement the dynamic class loading of types for RMI parameters and return values.

Since:
1.1

Method Summary
static String getClassAnnotation(Class<?> cl)
          Returns a string representation of the network location where a remote endpoint can get the class-definition of the given class.
static ClassLoader getClassLoader(String codebase)
          Gets a classloader for the given codebase and with the current context classloader as parent.
static RMIClassLoaderSpi getDefaultProviderInstance()
          Returns the default service provider for RMIClassLoader.
static Object getSecurityContext(ClassLoader loader)
          Deprecated.  
static Class<?> loadClass(String name)
          Deprecated.  
static Class<?> loadClass(String codebase, String name)
           
static Class<?> loadClass(String codebase, String name, ClassLoader defaultLoader)
           
static Class<?> loadClass(URL codeBase, String name)
          Loads a class from codeBase.
static Class<?> loadProxyClass(String codeBase, String[] interfaces, ClassLoader defaultLoader)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

loadClass

public static Class<?> loadClass(String name)
                          throws MalformedURLException,
                                 ClassNotFoundException
Deprecated. 

Throws:
MalformedURLException
ClassNotFoundException

loadClass

public static Class<?> loadClass(String codebase,
                                 String name)
                          throws MalformedURLException,
                                 ClassNotFoundException
Throws:
MalformedURLException
ClassNotFoundException

loadClass

public static Class<?> loadClass(String codebase,
                                 String name,
                                 ClassLoader defaultLoader)
                          throws MalformedURLException,
                                 ClassNotFoundException
Throws:
MalformedURLException
ClassNotFoundException

loadProxyClass

public static Class<?> loadProxyClass(String codeBase,
                                      String[] interfaces,
                                      ClassLoader defaultLoader)
                               throws MalformedURLException,
                                      ClassNotFoundException
Throws:
MalformedURLException
ClassNotFoundException

loadClass

public static Class<?> loadClass(URL codeBase,
                                 String name)
                          throws MalformedURLException,
                                 ClassNotFoundException
Loads a class from codeBase. This method delegates to RMIClassLoaderSpi.loadClass(String, String, ClassLoader) and passes codeBase.toString() as first argument, name as second argument and null as third argument.

Parameters:
codeBase - the code base from which to load the class
name - the name of the class
Returns:
the loaded class
Throws:
MalformedURLException - if the URL is not well formed
ClassNotFoundException - if the requested class cannot be found

getClassLoader

public static ClassLoader getClassLoader(String codebase)
                                  throws MalformedURLException
Gets a classloader for the given codebase and with the current context classloader as parent.

Parameters:
codebase -
Returns:
a classloader for the given codebase
Throws:
MalformedURLException - if the codebase contains a malformed URL

getClassAnnotation

public static String getClassAnnotation(Class<?> cl)
Returns a string representation of the network location where a remote endpoint can get the class-definition of the given class.

Parameters:
cl -
Returns:
a space seperated list of URLs where the class-definition of cl may be found

getSecurityContext

public static Object getSecurityContext(ClassLoader loader)
Deprecated. 


getDefaultProviderInstance

public static RMIClassLoaderSpi getDefaultProviderInstance()
Returns the default service provider for RMIClassLoader.

Returns:
the default provider for RMIClassLoader