java.lang.Object javax.rmi.CORBA.Util
public class Util
提供可以由 stub 和 tie 用于执行公共操作的实用方法。
方法摘要 | |
---|---|
static Object |
copyObject(Object obj, ORB orb) 复制或连接一个对象。 |
static Object[] |
copyObjects(Object[] obj, ORB orb) 复制或连接一个对象数组。 |
static ValueHandler |
createValueHandler() 返回实现 ValueHandler 接口的类的单一实例。 |
static String |
getCodebase(Class clz) 返回给定类的代码基(如果存在)。 |
static Tie |
getTie(Remote target) 返回给定目标对象的 tie(如果存在)。 |
static boolean |
isLocal(Stub stub) isLocal 方法与 ObjectImpl._is_local 方法具有相同的语义,否则可能抛出 RemoteException。 |
static Class |
loadClass(String className, String remoteCodebase, ClassLoader loader) 为指定的类返回一个类实例。 |
static RemoteException |
mapSystemException(SystemException ex) 将 SystemException 映射到 RemoteException。 |
static Object |
readAny(InputStream in) 将 java.lang.Object 作为 CORBA any 读取。 |
static void |
registerTarget(Tie tie, Remote target) 为 tie 注册一个目标。 |
static void |
unexportObject(Remote target) 从内部表中移除关联的 tie,并调用 Tie.deactivate() 以取消激活该对象。 |
static RemoteException |
wrapException(Throwable orig) 包装由实现方法抛出的异常。 |
static void |
writeAbstractObject(OutputStream out, Object obj) 将 java.lang.Object 作为一个值或 CORBA Object 写入。 |
static void |
writeAny(OutputStream out, Object obj) 将 any java.lang.Object 作为 CORBA any 写入。 |
static void |
writeRemoteObject(OutputStream out, Object obj) 将 java.lang.Object 作为 CORBA Object 写入。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
方法详细信息 |
---|
public static RemoteException mapSystemException(SystemException ex)
ex
- 要映射的 SystemException。
public static void writeAny(OutputStream out, Object obj)
out
- 要写入 any 的流。
obj
- 要写入为 any 的对象。
public static Object readAny(InputStream in)
in
- 从中读取 any 的流。
public static void writeRemoteObject(OutputStream out, Object obj)
obj
是导出的 RMI-IIOP 服务器对象,则查找 tie 并传递到
obj
,然后写入
out.write_Object(org.omg.CORBA.Object)
。如果
obj
是 CORBA Object,则将其写入到
out.write_Object(org.omg.CORBA.Object)
。
out
- 要将 Object 写入的流。
obj
- 要写入的对象。
public static void writeAbstractObject(OutputStream out, Object obj)
obj
是一个值对象或者是一个 stub 对象,则将其写入到
out.write_abstract_interface(java.lang.Object)
。如果
obj
是导出的 RMI-IIOP 服务器对象,则查找 tie 并传递到
obj
,然后写入到
out.write_abstract_interface(java.lang.Object)
。
out
- 要写入 Object 的流。
obj
- 要写入的对象。
public static void registerTarget(Tie tie, Remote target)
Tie.setTarget(java.rmi.Remote)
。
tie
- 要注册的 tie。
target
- tie 的目标。
public static void unexportObject(Remote target) throws NoSuchObjectException
Tie.deactivate()
以取消激活该对象。
target
- 要撤消导出的对象。
NoSuchObjectException
public static Tie getTie(Remote target)
public static ValueHandler createValueHandler()
ValueHandler
接口的类的单一实例。
public static String getCodebase(Class clz)
clz
- 为其获取代码基的类。
public static Class loadClass(String className, String remoteCodebase, ClassLoader loader) throws ClassNotFoundException
此方法的规范是“Java 到 IDL 语言的映射关系”ptc/00-01-06。
在 Java SE 平台上,此方法的工作方式如下:
className
- 类名。
remoteCodebase
- 可能从中发现类的空格分隔的 URL 列表。可以为 null。
loader
- 在所有其他方法失败时可以用来加载类的
ClassLoader。
Class
对象。
ClassNotFoundException
- 如果不能加载类。
public static boolean isLocal(Stub stub) throws RemoteException
stub
- 要测试的 stub。
RemoteException
- 如果 Java 到 IDL 的规范 没有指定导致抛出
RemoteException 的条件。
public static RemoteException wrapException(Throwable orig)
orig
- 要包装的异常。
public static Object[] copyObjects(Object[] obj, ORB orb) throws RemoteException
obj
- 要复制或连接的对象。
orb
- 该 ORB。
RemoteException
- 如果不能复制或连接任何对象。
public static Object copyObject(Object obj, ORB orb) throws RemoteException
obj
- 要复制的对象。
orb
- 该 ORB。
RemoteException
- 如果不能复制或连接该对象。