Loads a class using
RMIClassLoader#loadClass(String,String,ClassLoader), 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(String,String,ClassLoader) 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
.