12.4.2 com.inprise.vbroker.CORBA.Objectのメソッド
-
public org.omg.CORBA.Policy _get_client_policy(
int type)
_get_client_policyメソッドは,サーバ側ポリシーとの共通部分を考慮しないで,オブジェクトリファレンスの有効オーバーライドポリシーを返します。有効オーバーライドは,まず,指定したPolicyTypeのオーバーライドをオブジェクトのスコープでチェックし,次にカレントスコープでチェックし,最後にVisiBroker ORBのスコープでチェックして取得します。指定したPolicyTypeにオーバーライドが登録されていなければ,そのPolicyType固有のシステム依存デフォルト値を使用します。デフォルトのポリシー値は指定されないので,ポータブルなアプリケーションは,必要な「デフォルト」をVisiBroker ORBのスコープで設定することを求められています。
-
org.omg.CORBA.Policy[ ] _get_policy_overrides(
int[ ] types)
_get_policy_overridesメソッドは,オブジェクトレベルで指定したポリシー型のポリシーオーバーライドのリストを返します。引数に空のシーケンスを指定した場合,(つまり,長さ0の配列を指定した場合)オブジェクトレベルのオーバーライドをすべて返します。オブジェクトレベルでPolicyTypesが一つもオーバーライドされていない場合は,空のシーケンスを返します。
-
org.omg.CORBA.PolicyListHolder inconsistent_policies)
_validate_connectionメソッドは,該当するオブジェクトのカレントの有効ポリシーで呼び出しができるかどうかをBoolean値で返します。呼び出しができる場合はtrueを返します。オブジェクトリファレンスがバインド済みでない場合,このメソッドはオペレーションの一環としてバインディングを実行します。バインド済みの場合でも,カレントのポリシーオーバーライドが変更されていたり,何らかの理由でバインディングが無効になっている場合は,RebindPolicyオーバーライドの設定に関係なくリバインドされます。
カレントの有効RebindPolicyが暗黙的なリバインドを許可していない場合,そのようなリバインドを強制的にできるのは_validate_connectionだけです。バインドやリバインドの実行を試みると,VisiBroker ORBによってGIOPのLocateRequests処理が実行されます。
カレントの有効ポリシーで呼び出すとINV_POLICYシステム例外が発生する場合,このメソッドはfalseを返します。カレントの有効ポリシーに互換性がない場合,outパラメタ「inconsistent_policies」に非互換性を生じさせたポリシーを格納します。このパラメタに返されたポリシーのリストはすべての原因を網羅しているわけではありません。ポリシーのオーバーライドに関係しない原因によってバインディングが失敗した場合は,その原因に応じたシステム例外が発生します。