|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.rmi.server
类 RMIClassLoaderSpi
java.lang.Object java.rmi.server.RMIClassLoaderSpi
-
public abstract class RMIClassLoaderSpi
- extends Object
RMIClassLoaderSpi
是 RMIClassLoader
的服务提供程序接口。尤其是,RMIClassLoaderSpi
接口提供 RMIClassLoader
的以下静态方法的实现:
RMIClassLoader.loadClass(URL,String)
RMIClassLoader.loadClass(String,String)
RMIClassLoader.loadClass(String,String,ClassLoader)
RMIClassLoader.loadProxyClass(String,String[],ClassLoader)
RMIClassLoader.getClassLoader(String)
RMIClassLoader.getClassAnnotation(Class)
RMIClassLoader
文档。
- 从以下版本开始:
- JDK1.4
- 另请参见:
-
RMIClassLoader
构造方法摘要 | |
---|---|
RMIClassLoaderSpi() |
方法摘要 | |
---|---|
abstract String |
getClassAnnotation(Class<?> cl) 提供 RMIClassLoader.getClassAnnotation(Class) 的实现。 |
abstract ClassLoader |
getClassLoader(String codebase) 提供 RMIClassLoader.getClassLoader(String) 的实现。 |
abstract Class<?> |
loadClass(String codebase, String name, ClassLoader defaultLoader) 提供 RMIClassLoader.loadClass(URL,String) 、RMIClassLoader.loadClass(String,String) 和 RMIClassLoader.loadClass(String,String,ClassLoader) 的实现。 |
abstract Class<?> |
loadProxyClass(String codebase, String[] interfaces, ClassLoader defaultLoader) 提供 RMIClassLoader.loadProxyClass(String,String[],ClassLoader) 的实现。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
RMIClassLoaderSpi
public RMIClassLoaderSpi()
方法详细信息 |
---|
loadClass
public abstract Class<?> loadClass(String codebase, String name, ClassLoader defaultLoader) throws MalformedURLException, ClassNotFoundException
-
提供
RMIClassLoader.loadClass(URL,String)
、RMIClassLoader.loadClass(String,String)
和RMIClassLoader.loadClass(String,String,ClassLoader)
的实现。选用提供的加载程序,从代码基 URL 路径加载某个类。 通常,提供程序实现将试图先使用给定的defaultLoader
(如果指定)解析指定的类,然后才试图从代码基 URL 路径解析该类。此方法的实现必须返回具有给定名称的一个类,或抛出异常。
-
- 参数:
-
codebase
- 要从其加载类的 URL 的列表(由空格分隔),或者为null
-
name
- 要加载的类名称 -
defaultLoader
- 要使用的其他上下文类加载器,或null
- 返回:
-
表示加载的类的
Class
对象 - 抛出:
-
MalformedURLException
- 如果codebase
为非null
且包含一个无效 URL,或者如果codebase
为null
且用于加载类的特定于提供程序的 URL 无效。 -
ClassNotFoundException
- 如果在指定位置无法找到该类的定义
loadProxyClass
public abstract Class<?> loadProxyClass(String codebase, String[] interfaces, ClassLoader defaultLoader) throws MalformedURLException, ClassNotFoundException
-
提供
RMIClassLoader.loadProxyClass(String,String[],ClassLoader)
的实现。选用提供的加载器,从代码基 URL 路径加载实现一组具有给定名称接口集的动态代理类(请参阅Proxy
)。此方法的实现必须能返回一个实现指定接口的代理类,或抛出异常。
-
- 参数:
-
codebase
- 要从其加载类的 URL 列表(由空格分隔),或null
-
interfaces
- 要实现的代理类的接口名称 -
defaultLoader
- 要使用的其他上下文类加载器,或null
- 返回:
- 实现指定接口的动态代理类
- 抛出:
-
MalformedURLException
- 如果codebase
为非null
且包含一个无效 URL,或者如果codebase
为null
且用于加载类的特定于提供程序的 URL 无效。 -
ClassNotFoundException
- 如果在指定位置无法找到某个指定接口的定义,或者如果动态代理类的创建失败(例如,如果Proxy.getProxyClass(ClassLoader,Class[])
抛出给定接口列表的IllegalArgumentException
)
getClassLoader
public abstract ClassLoader getClassLoader(String codebase) throws MalformedURLException
-
提供
RMIClassLoader.getClassLoader(String)
的实现。返回从给定代码基 URL 路径加载类的类加载器。如果存在安全管理器,则使用
RuntimePermission("getClassLoader")
权限调用其checkPermission
方法;这会导致SecurityException
。此方法的实现还可以执行进一步的安全检查,以验证调用上下文是否具有连接到代码基 URL 路径中的所有 URL 的权限。 -
- 参数:
-
codebase
- 返回的类加载器将从其加载类的 URL 列表(由空格分隔),或null
- 返回:
- 从给定代码基 URL 路径加载类的类加载器
- 抛出:
-
MalformedURLException
- 如果codebase
为非null
且包含一个无效 URL,或者如果codebase
为null
且用于标识类加载器的特定于提供程序的 URL 无效 -
SecurityException
- 如果存在安全管理器且其checkPermission
方法的调用失败,或者如果调用方没有连接到代码基 URL 路径中所有 URL 的权限
getClassAnnotation
public abstract String getClassAnnotation(Class<?> cl)
-
提供
RMIClassLoader.getClassAnnotation(Class)
的实现。返回表示类定义位置的注释字符串,RMI 将在编组给定类的对象时用其注释类描述符。 -
- 参数:
-
cl
- 要获得其注释的类 - 返回:
-
在编组时用于注释给定类的字符串,或
null
- 抛出:
-
NullPointerException
- 如果cl
为null
所有类
|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |