JavaTM 2 Platform
Std. Ed. v1.3

javax.rmi.CORBA
クラス Util

java.lang.Object
  |
  +--javax.rmi.CORBA.Util

public class Util
extends Object

共通の操作を実行するためにスタブおよび 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 があれば、その Tie を返します。
static boolean isLocal(Stub stub)
          サーバントがあるのと同じ ORB インスタンスにスタブがある場合、true を返します。
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)
          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
 

メソッドの詳細

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 である場合、objout.write_Object(org.omg.CORBA.Object) に書き込まれます。
パラメータ:
out - オブジェクトを書き込むストリーム
obj - 書き込むオブジェクト

writeAbstractObject

public static void writeAbstractObject(OutputStream out,
                                       Object obj)
java.lang.Object を値または CORBA Object として書き込みます。obj が値オブジェクトまたはスタブオブジェクトである場合、objout.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)
関連付けられた Tie を内部テーブルから削除し、Tie.deactivate() を呼び出してオブジェクトを終了します。
パラメータ:
target - アンエクスポートするオブジェクト

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
指定されたクラスのクラスインスタンスを返します。
パラメータ:
className - クラスの名前
remoteCodebase - クラスを検索する、スペースで区切られた URL のリスト。null の場合あり
loadingContext - 他のメソッドがすべて失敗した場合に ClassLoader を使用してクラスをロードできるクラス
戻り値:
ロードされたクラスを表す Class オブジェクト
例外:
ClassNotFoundException - クラスをロードできない場合

isLocal

public static boolean isLocal(Stub stub)
                       throws RemoteException
サーバントがあるのと同じ ORB インスタンスにスタブがある場合、true を返します。このメソッドは ObjectImpl._is_local() と同等ですが、SystemException の代わりに RemoteException をスローする点が異なります。
パラメータ:
stub - テストするスタブ
戻り値:
ローカルの場合は true、そうでない場合は false
例外:
RemoteException - スタブが ORB に接続されていない場合

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 - オブジェクトをコピーまたは接続できない場合

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.