12.4.1 org.omg.CORBA.Objectのメソッド
-
public org.omg.CORBA.Policy _get_policy(
int type)
該当するオブジェクトリファレンスの有効ポリシーを返します。このポリシーは,リクエストが発行された場合に使用されるポリシーです。このメソッドは最初に,_get_client_policyが返すPolicyTypeの有効オーバーライドを取得することによって,有効ポリシーを判定します。
次に,IORに指定されたポリシーと有効オーバーライドを比較します。有効ポリシーは,有効オーバーライドとIORに指定されたポリシーが許容する値の共通部分です。共通部分が空の場合は,INV_POLICYシステム例外が発生します。空でない場合は,値が共通部分のポリシーを有効ポリシーとして返します。IORにポリシー値の指定がない場合は,適当な値を使用してもよいことを意味します。オブジェクトリファレンスに対して_get_policyメソッドを呼び出す前に,_non_existentメソッドまたは_validate_connectionメソッドを呼び出すと,返される有効ポリシーの正確さが保証されます。
_get_policyを,オブジェクトリファレンスをバインドする前に呼び出すと,インプリメンテーション依存の有効ポリシーが返されます。この状況では,仕様に従って生成したインプリメンテーションは次のどれかの動作を実行する可能性があります。
-
CORBA.BAD_INV_ORDER例外が発生します。
-
バインドごとに変更される可能性のあるPolicyTypeの値を返します。
-
バインドを試みて有効ポリシーを返します。
RebindPolicyにTRANSPARENT,VB_TRANSPARENT,またはVB_NOTIFY_REBINDが設定されている場合は,透過的なリバインドによって,有効ポリシーは呼び出しごとに変わる可能性があります。
-
-
org.omg.CORBA.Object _set_policy_override(
const Policy[ ] _policies,
SetOverrideType _set_add)
throws
org.omg.CORBA.InvalidPolicy
このメソッドは,指定したオブジェクトレベルでのポリシーオーバーライドのリストで新規オブジェクトリファレンスを返します。さらに,オブジェクト,スレッド,またはVisiBroker ORBのカレントのポリシーを,指定したポリシーオーバーライドのリストで更新します。