java.lang.Object | |
↳ | java.rmi.server.RMIClassLoaderSpi |
RMIClassLoaderSpi
is the service provider interface for
RMIClassLoader
.
In particular, an RMIClassLoaderSpi
instance provides an
implementation of the following static methods of
RMIClassLoader
:
loadClass(URL, String)
loadClass(String, String)
loadClass(String, String, ClassLoader)
loadProxyClass(String, String[], ClassLoader)
getClassLoader(String)
getClassAnnotation(Class)
RMIClassLoader
for a description
of how a provider instance is chosen.
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Provides the implementation for
getClassAnnotation(Class) . | |||||||||||
Provides the implementation for
getClassLoader(String) . | |||||||||||
Provides the implementation for
loadClass(URL, String) ,
loadClass(String, String) , and
loadClass(String, String, ClassLoader) . | |||||||||||
Provides the implementation for
loadProxyClass(String, String[], ClassLoader) . |
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
|
Provides the implementation for
getClassAnnotation(Class)
.
Returns the annotation string (representing a location for
the class definition) that RMI will use to annotate the class
descriptor when marshalling objects of the given class.
cl | the class to obtain the annotation for |
---|
null
NullPointerException | if cl is null
|
---|
Provides the implementation for
getClassLoader(String)
.
Returns a class loader that loads classes from the given codebase
URL path.
If there is a security manger, its checkPermission
method will be invoked with a
RuntimePermission("getClassLoader")
permission;
this could result in a SecurityException
.
The implementation of this method may also perform further security
checks to verify that the calling context has permission to connect
to all of the URLs in the codebase URL path.
codebase | the list of URLs (space-separated) from which
the returned class loader will load classes from, or null |
---|
MalformedURLException | if codebase is
non-null and contains an invalid URL, or
if codebase is null and a provider-specific
URL used to identify the class loader is invalid |
---|---|
SecurityException | if there is a security manager and the
invocation of its checkPermission method fails, or
if the caller does not have permission to connect to all of the
URLs in the codebase URL path
|
Provides the implementation for
loadClass(URL, String)
,
loadClass(String, String)
, and
loadClass(String, String, ClassLoader)
.
Loads a class from a codebase URL path, optionally using the
supplied loader.
Typically, a provider implementation will attempt to
resolve the named class using the given defaultLoader
,
if specified, before attempting to resolve the class from the
codebase URL path.
An implementation of this method must either return a class with the given name or throw an exception.
codebase | the list of URLs (separated by spaces) to load
the class from, or null |
---|---|
name | the name of the class to load |
defaultLoader | additional contextual class loader
to use, or null |
Class
object representing the loaded classMalformedURLException | if codebase is
non-null and contains an invalid URL, or
if codebase is null and a provider-specific
URL used to load classes is invalid |
---|---|
ClassNotFoundException | if a definition for the class could not be found at the specified location |
Provides the implementation for
loadProxyClass(String, String[], ClassLoader)
.
Loads a dynamic proxy class (see Proxy
that implements a set of interfaces with the given names
from a codebase URL path, optionally using the supplied loader.
An implementation of this method must either return a proxy class that implements the named interfaces or throw an exception.
codebase | the list of URLs (space-separated) to load
classes from, or null |
---|---|
interfaces | the names of the interfaces for the proxy class to implement |
defaultLoader | additional contextual class loader
to use, or null |
MalformedURLException | if codebase is
non-null and contains an invalid URL, or
if codebase is null and a provider-specific
URL used to load classes is invalid |
---|---|
ClassNotFoundException | if a definition for one of
the named interfaces could not be found at the specified location,
or if creation of the dynamic proxy class failed (such as if
getProxyClass(ClassLoader, Class[])
would throw an IllegalArgumentException for the given
interface list)
|