public final class ClassLoading extends Object
RMIClassLoader
with optional
verification that the codebase URLs used to load classes provide content integrity (see Security.verifyCodebaseIntegrity
).Modifier and Type | Method and Description |
---|---|
static Class |
loadClass(String codebase,
String name,
ClassLoader defaultLoader,
boolean verifyCodebaseIntegrity,
ClassLoader verifierLoader)
Loads a class using
RMIClassLoader.loadClass , optionally verifying that the codebase URLs provide content
integrity. |
static Class |
loadProxyClass(String codebase,
String[] interfaceNames,
ClassLoader defaultLoader,
boolean verifyCodebaseIntegrity,
ClassLoader verifierLoader)
Loads a dynamic proxy class using
RMIClassLoader.loadProxyClass , optionally verifying that the codebase URLs
provide content integrity. |
public static Class loadClass(String codebase, String name, ClassLoader defaultLoader, boolean verifyCodebaseIntegrity, ClassLoader verifierLoader) throws MalformedURLException, ClassNotFoundException
RMIClassLoader.loadClass
, optionally verifying that the codebase URLs provide content
integrity.
If verifyCodebaseIntegrity
is true
and codebase
is
not null
, then this method invokes Security.verifyCodebaseIntegrity
with codebase
as the first argument and
verifierLoader
as the second argument (this invocation may be skipped if a
previous invocation of this method or loadProxyClass
has already
invoked Security.verifyCodebaseIntegrity
with the same value of
codebase
and the same effective value of verifierLoader
as
arguments without it throwing an exception). If Security.verifyCodebaseIntegrity
throws a SecurityException
, then this method proceeds as if
codebase
were null
. If Security.verifyCodebaseIntegrity
throws any other exception, then this method throws that exception.
This method then invokes RMIClassLoader.loadClass
with codebase
as the first argument (or
null
if in the previous step Security.verifyCodebaseIntegrity
was
invoked and it threw a SecurityException
), name
as the second
argument, and defaultLoader
as the third argument. If
RMIClassLoader.loadClass
throws a ClassNotFoundException
, then this
method throws a ClassNotFoundException
; if RMIClassLoader.loadClass
throws any other exception, then this method throws that exception; otherwise, this method
returns the Class
returned by RMIClassLoader.loadClass
.
codebase
- the list of URLs (separated by spaces) to load the class from,
or null
name
- the name of the class to loaddefaultLoader
- the class loader value (possibly null
) to pass as
the defaultLoader
argument to
RMIClassLoader.loadClass
verifyCodebaseIntegrity
- if true
, verify that the codebase URLs provide
content integrityverifierLoader
- the class loader value (possibly null
) to pass to
Security.verifyCodebaseIntegrity
, if
verifyCodebaseIntegrity
is true
Class
object representing the loaded classMalformedURLException
- if Security.verifyCodebaseIntegrity
or
RMIClassLoader.loadClass
throws a
MalformedURLException
ClassNotFoundException
- if RMIClassLoader.loadClass
throws a
ClassNotFoundException
NullPointerException
- if name
is null
public static Class loadProxyClass(String codebase, String[] interfaceNames, ClassLoader defaultLoader, boolean verifyCodebaseIntegrity, ClassLoader verifierLoader) throws MalformedURLException, ClassNotFoundException
RMIClassLoader.loadProxyClass
, optionally verifying that the codebase URLs
provide content integrity.
If verifyCodebaseIntegrity
is true
and codebase
is
not null
, then this method invokes Security.verifyCodebaseIntegrity
with codebase
as the first argument and
verifierLoader
as the second argument (this invocation may be skipped if a
previous invocation of this method or loadClass
has already invoked
Security.verifyCodebaseIntegrity
with the same value of codebase
and the same effective value of verifierLoader
as arguments without it throwing
an exception). If Security.verifyCodebaseIntegrity
throws a
SecurityException
, then this method proceeds as if codebase
were
null
. If Security.verifyCodebaseIntegrity
throws any other
exception, then this method throws that exception.
This method invokes RMIClassLoader.loadProxyClass
with codebase
as the first argument (or
null
if in the previous step Security.verifyCodebaseIntegrity
was
invoked and it threw a SecurityException
), interfaceNames
as the
second argument, and defaultLoader
as the third argument. If
RMIClassLoader.loadProxyClass
throws a ClassNotFoundException
, then
this method throws a ClassNotFoundException
; if RMIClassLoader.loadProxyClass
throws any other exception, then this method throws that exception; otherwise, this method
returns the Class
returned by RMIClassLoader.loadProxyClass
.
codebase
- the list of URLs (separated by spaces) to load classes from,
or null
interfaceNames
- the names of the interfaces for the proxy class to implementdefaultLoader
- the class loader value (possibly null
) to pass as
the defaultLoader
argument to
RMIClassLoader.loadProxyClass
verifyCodebaseIntegrity
- if true
, verify that the codebase URLs provide
content integrityverifierLoader
- the class loader value (possibly null
) to pass to
Security.verifyCodebaseIntegrity
, if
verifyCodebaseIntegrity
is true
Class
object representing the loaded dynamic proxy classMalformedURLException
- if Security.verifyCodebaseIntegrity
or
RMIClassLoader.loadProxyClass
throws a
MalformedURLException
ClassNotFoundException
- if RMIClassLoader.loadProxyClass
throws a
ClassNotFoundException
NullPointerException
- if interfaceNames
is null
or if any
element of interfaceNames
is null
Copyright © GigaSpaces.