- java.lang.Object
 - 
- javax.rmi.CORBA.Util
 
 
- 
public class Util extends Object
共通の操作を実行するためにスタブおよびTieが使用できるユーティリティ・メソッドを提供します。 
- 
- 
メソッドのサマリー
すべてのメソッド staticメソッド 具象メソッド 修飾子と型 メソッド 説明 static ObjectcopyObject(Object obj, ORB orb)オブジェクトをコピーまたは接続します。static Object[]copyObjects(Object[] obj, ORB orb)オブジェクトの配列をコピーまたは接続します。static ValueHandlercreateValueHandler()ValueHandlerインタフェースを実装するクラスの単独インスタンスを返します。static StringgetCodebase(Class clz)指定されたクラスのコード・ベースがあれば、そのコード・ベースを返します。static TiegetTie(Remote target)指定されたターゲット・オブジェクトのTieがあれば、そのTieを返します。static booleanisLocal(Stub stub)isLocalメソッドがRemoteExceptionをスローできることを除き、ObjectImpl._is_localと同じセマンティックスを持ちます。static ClassloadClass(String className, String remoteCodebase, ClassLoader loader)指定されたクラスのクラス・インスタンスを返します。static RemoteExceptionmapSystemException(SystemException ex)SystemExceptionをRemoteExceptionへマップします。static ObjectreadAny(InputStream in)java.lang.ObjectをCORBAのAny型として読み込みます。static voidregisterTarget(Tie tie, Remote target)Tieのターゲットを登録します。static voidunexportObject(Remote target)関連付けられたTieを内部テーブルから削除し、Tie.deactivate()を呼び出してオブジェクトを終了します。static RemoteExceptionwrapException(Throwable orig)実装メソッドによってスローされた例外をラップします。static voidwriteAbstractObject(OutputStream out, Object obj)java.lang.Objectを値またはCORBA Objectとして書き込みます。static voidwriteAny(OutputStream out, Object obj)java.lang.ObjectをCORBAのAny型として書き込みます。static voidwriteRemoteObject(OutputStream out, Object obj)java.lang.ObjectをCORBA Objectとして書き込みます。 
 - 
 
- 
- 
メソッドの詳細
- 
mapSystemException
public static RemoteException mapSystemException(SystemException ex)
SystemExceptionをRemoteExceptionへマップします。- パラメータ:
 ex- マップするSystemException。- 戻り値:
 - マップされた例外。
 
 
- 
writeAny
public static void writeAny(OutputStream out, Object obj)
java.lang.ObjectをCORBAのAny型として書き込みます。- パラメータ:
 out- Any型を書き込むストリーム。obj- Any型として書き込むオブジェクト。
 
- 
readAny
public static Object readAny(InputStream in)
java.lang.ObjectをCORBAのAny型として読み込みます。- パラメータ:
 in- Any型の読込み元ストリーム。- 戻り値:
 - ストリームから読み込まれたオブジェクト。
 
 
- 
writeRemoteObject
public static void writeRemoteObject(OutputStream out, Object obj)
java.lang.ObjectをCORBA Objectとして書き込みます。objがエクスポートされたRMI-IIOPサーバー・オブジェクトである場合、Tieが検索されてobjに結び付けられ、続いてout.write_Object(org.omg.CORBA.Object)に書き込まれます。objがCORBA Objectの場合は、out.write_Object(org.omg.CORBA.Object)に書き込まれます。- パラメータ:
 out- オブジェクトを書き込むストリーム。obj- 書き込むオブジェクト。
 
- 
writeAbstractObject
public static void writeAbstractObject(OutputStream out, Object obj)
java.lang.Objectを値またはCORBA Objectとして書き込みます。objが値オブジェクトまたはスタブ・オブジェクトの場合は、out.write_abstract_interface(java.lang.Object)に書き込まれます。objがエクスポートされたRMI-IIOPサーバー・オブジェクトである場合、Tieが検索されてobjに結び付けられ、続いてout.write_abstract_interface(java.lang.Object)に書き込まれます。- パラメータ:
 out- オブジェクトを書き込むストリーム。obj- 書き込むオブジェクト。
 
- 
registerTarget
public static void registerTarget(Tie tie, Remote target)
Tieのターゲットを登録します。 Tieを内部テーブルに追加して、TieオブジェクトのTie.setTarget(java.rmi.Remote)を呼び出します。- パラメータ:
 tie- 登録するTie。target- Tieのターゲット。
 
- 
unexportObject
public static void unexportObject(Remote target) throws NoSuchObjectException
関連付けられたTieを内部テーブルから削除し、Tie.deactivate()を呼び出してオブジェクトを終了します。- パラメータ:
 target- アンエクスポートするオブジェクト。- 例外:
 NoSuchObjectException
 
- 
getTie
public static Tie getTie(Remote target)
指定されたターゲット・オブジェクトのTieがあれば、そのTieを返します。- 戻り値:
 - Tie、または指定されたターゲットに登録されているTieがない場合はnull。
 
 
- 
createValueHandler
public static ValueHandler createValueHandler()
ValueHandlerインタフェースを実装するクラスの単独インスタンスを返します。- 戻り値:
 - ValueHandlerインタフェースを実装するクラス。
 
 
- 
getCodebase
public static String getCodebase(Class clz)
指定されたクラスのコード・ベースがあれば、そのコード・ベースを返します。- パラメータ:
 clz- コード・ベースが取得されるクラス。- 戻り値:
 - 空白で区切られたURLのリスト、またはnull。
 
 
- 
loadClass
public static Class loadClass(String className, String remoteCodebase, ClassLoader loader) throws ClassNotFoundException
指定されたクラスのクラス・インスタンスを返します。このメソッドの仕様は「Java to IDL language mapping」(ptc/00-01-06)に規定されています。
Java SEプラットフォームでは、このメソッドは次のように動作します。
- 呼出しスタックで、最初のnull以外の
ClassLoaderを検出し、このClassLoaderを使用してクラスのロードを試行する。 - 最初のステップが失敗した場合、および
remoteCodebaseがnull以外でuseCodebaseOnlyがfalseの場合、java.rmi.server.RMIClassLoader.loadClass(remoteCodebase, className)を呼び出す。 remoteCodebaseがnullまたはuseCodebaseOnlyがtrueの場合、java.rmi.server.RMIClassLoader.loadClass(className)を呼び出す。- クラスがステップ1、2、または3によって正常にロードされず、
loaderがnull以外の場合、loader.loadClass(className)を呼び出す。 - クラスがステップ1、2、3、または4によって正常にロードされない場合、ロードされたクラスを返すか、または
ClassNotFoundExceptionをスローする。 
- パラメータ:
 className- クラスの名前。remoteCodebase- クラスの検索場所となる空白で区切られたURLのリスト。 nullも可。loader- ほかのメソッドがすべて失敗した場合に、クラスをロードするために使用できるClassLoader。- 戻り値:
 - ロードされたクラスを表す
Classオブジェクト。 - 例外:
 ClassNotFoundException- クラスをロードできない場合。
 - 呼出しスタックで、最初のnull以外の
 
- 
isLocal
public static boolean isLocal(Stub stub) throws RemoteException
isLocalメソッドがRemoteExceptionをスローできることを除き、ObjectImpl._is_localと同じセマンティックスを持ちます。 スタブが、特定のオブジェクトがローカル・サーバントによって実装され、したがって、ローカル呼び出しAPIが使用できるかどうかを判定できるように_is_local()が提供されます。- パラメータ:
 stub- テストするスタブ。- 戻り値:
 - オブジェクトを生成するサーバントがスタブと同じプロセスに置かれ、両方が同じORBインスタンスを共有する場合、
_is_local()メソッドはtrueを返す。 そうでない場合、_is_local()メソッドはfalseを返す。_is_local()のデフォルトの動作はfalseを返す。 - 例外:
 RemoteException- Java to IDL仕様にRemoteExceptionをスローさせる条件が指定されていない。
 
- 
wrapException
public static RemoteException wrapException(Throwable orig)
実装メソッドによってスローされた例外をラップします。 該当するクライアント側の例外を返します。- パラメータ:
 orig- ラップする例外。- 戻り値:
 - ラップされた例外。
 
 
- 
copyObjects
public static Object[] copyObjects(Object[] obj, ORB orb) throws RemoteException
オブジェクトの配列をコピーまたは接続します。 ローカル・スタブが実際のパラメータを任意の数コピーするのに使用し、必要に応じてパラメータ間で共有しRMIセマンティックスをサポートします。- パラメータ:
 obj- コピーまたは接続対象のオブジェクト。orb- ORB。- 戻り値:
 - コピーまたは接続されたオブジェクト。
 - 例外:
 RemoteException- コピーまたは接続できないオブジェクトがある場合。
 
- 
copyObject
public static Object copyObject(Object obj, ORB orb) throws RemoteException
オブジェクトをコピーまたは接続します。 ローカル・スタブが実際のパラメータ、結果オブジェクト、または例外をコピーするのに使用します。- パラメータ:
 obj- コピー対象のオブジェクト。orb- ORB。- 戻り値:
 - コピーまたは接続されたオブジェクト。
 - 例外:
 RemoteException- オブジェクトをコピーまたは接続できない場合。
 
 - 
 
 -