java.rmi.server

Class 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 StringgetClassAnnotation(Class<?> cl)
Returns a string representation of the network location where a remote endpoint can get the class-definition of the given class.
static ClassLoadergetClassLoader(String codebase)
Gets a classloader for the given codebase and with the current context classloader as parent.
static RMIClassLoaderSpigetDefaultProviderInstance()
Returns the default service provider for RMIClassLoader.
static ObjectgetSecurityContext(ClassLoader loader)
static Class<?>loadClass(String name)
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)

Method Detail

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

getClassLoader

public static ClassLoader getClassLoader(String codebase)
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

getDefaultProviderInstance

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

Returns: the default provider for RMIClassLoader

getSecurityContext

public static Object getSecurityContext(ClassLoader loader)

Deprecated:

loadClass

public static Class<?> loadClass(String name)

Deprecated:

loadClass

public static Class<?> loadClass(String codebase, String name)

loadClass

public static Class<?> loadClass(String codebase, String name, ClassLoader defaultLoader)

loadClass

public static Class<?> loadClass(URL codeBase, String name)
Loads a class from codeBase. This method delegates to {@link 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

loadProxyClass

public static Class<?> loadProxyClass(String codeBase, String[] interfaces, ClassLoader defaultLoader)