10.4.9 バインドされたオブジェクトの位置と状態の判定

オブジェクトリファレンスが有効であれば,クライアントプログラムは,_is_bound()メソッド(C++およびJava)を使用してオブジェクトがバインドされているかどうかを判定できます。このメソッドは,オブジェクトがバインドされていれば1(C++)またはtrue(Java)を,バインドされていなければ0(C++)またはfalse(Java)を返します。

_is_local()メソッドは,クライアントプログラムとオブジェクトインプリメンテーションが同じプロセスまたはアドレス空間に常駐する場合に1(C++)またはtrue(Java)を返します。

_is_remote()メソッドは,クライアントプログラムとオブジェクトインプリメンテーションが同じホストにあるかどうかに関係なく,異なるプロセスに存在する場合に1(C++)またはtrue(Java)を返します。

オブジェクトリファレンスの位置と状態を判定するメソッドを表10-4に示します。

表10-4 オブジェクトリファレンスの位置と状態を判定するメソッド

メソッド説明
_is_boundこのオブジェクトに対してコネクションが現在アクティブなら,1(C++)またはtrue(Java)を返します。
_is_localこのオブジェクトがローカルアドレス空間でインプリメントされたなら,1(C++)またはtrue(Java)を返します。
_is_remoteこのオブジェクトのインプリメンテーションがローカルアドレス空間になければ,1(C++)またはtrue(Java)を返します。
メソッドが呼び出されたプロセスと同じプロセスにオブジェクトがある場合,_is_local()は1(C++)またはtrue(Java)を返します。