-
- 既知のすべてのサブインタフェース:
ORBInitInfo
public interface ORBInitInfoOperations
各ORBInitializer
に渡されて、ORBが初期化しているときにインタセプタを登録したり、ほかの処理を実行したりできるようにします。ORBInitInfo
オブジェクトは、ORB.init
の実行中のみ有効です。 サービスがそのORBInitInfo
オブジェクトへの参照を保管し、ORB.init
が復帰したあとでそれを使用しようとすると、そのオブジェクトはもう存在しないため、OBJECT_NOT_EXIST
例外がスローされます。- 関連項目:
ORBInitializer
-
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 抽象メソッド 修飾子と型 メソッド 説明 void
add_client_request_interceptor(ClientRequestInterceptor interceptor)
クライアント側の要求インタセプタをクライアント側の要求インタセプタのリストに追加します。void
add_ior_interceptor(IORInterceptor interceptor)
IORインタセプタをIORインタセプタのリストに追加します。void
add_server_request_interceptor(ServerRequestInterceptor interceptor)
サーバー側の要求インタセプタをサーバー側の要求インタセプタのリストに追加します。int
allocate_slot_id()
PortableInterceptor.Current
にスロットを割り当てるために呼び出されます。String[]
arguments()
ORB.init
に渡された引数を返します。CodecFactory
codec_factory()
IOP.CodecFactory
を返します。String
orb_id()
初期化されるORBのIDを返します。void
register_initial_reference(String id, Object obj)
ORB.register_initial_reference
と同じ。void
register_policy_factory(int type, PolicyFactory policy_factory)
指定されたPolicyType
のPolicyFactory
を登録します。Object
resolve_initial_references(String id)
ORB.resolve_initial_references
と同じ。
-
-
-
メソッドの詳細
-
arguments
String[] arguments()
ORB.init
に渡された引数を返します。 ORBの引数が含まれている場合も含まれていない場合もあります。
-
orb_id
String orb_id()
初期化されるORBのIDを返します。
-
codec_factory
CodecFactory codec_factory()
IOP.CodecFactory
を返します。CodecFactory
は通常、ORB.resolve_initial_references("CodecFactory")
の呼出しを介して取得されますが、ORBがまだ利用できず、インタセプタがCodec
を必要とする(特にサービス・コンテキストの処理時)ため、ORBの初期化時にはCodec
を取得する手段が必要となります。
-
register_initial_reference
void register_initial_reference(String id, Object obj) throws InvalidName
ORB.register_initial_reference
と同じ。 同じ機能がここに用意されているのは、ORBの初期化が完了していないためまだ利用できないときに、インタセプタ登録の一環として初期参照を登録することが必要な場合があるためです。 唯一の違いは、ORBのバージョンではPIDL (CORBA.ORB.ObjectId
とCORBA.ORB.InvalidName
)を使用するのに対して、このインタフェースのバージョンではこのインタフェースに定義されたIDLを使用する点です。ただし、セマンティックスは同じです。- 例外:
InvalidName
-
resolve_initial_references
Object resolve_initial_references(String id) throws InvalidName
ORB.resolve_initial_references
と同じ。 同じ機能がここに用意されているのは、ORBの初期化が完了していないためまだ利用できないときに、インタセプタ登録の一環として、ORBから初期参照を必要とする場合があるためです。 唯一の違いは、ORBのバージョンではPIDL (CORBA::ORB::ObjectId
とCORBA::ORB::InvalidName
)を使用するのに対して、このインタフェースのバージョンではこのインタフェースに定義されたIDLを使用する点です。ただし、セマンティックスは同じです。このオペレーションは、post_initの実行時のみ有効です。
- 例外:
InvalidName
-
add_client_request_interceptor
void add_client_request_interceptor(ClientRequestInterceptor interceptor) throws DuplicateName
クライアント側の要求インタセプタをクライアント側の要求インタセプタのリストに追加します。- パラメータ:
interceptor
- 追加するClientRequestInterceptor
。- 例外:
DuplicateName
- このインタセプタの名前を持つクライアント側の要求インタセプタがすでに存在する場合にスローされる。
-
add_server_request_interceptor
void add_server_request_interceptor(ServerRequestInterceptor interceptor) throws DuplicateName
サーバー側の要求インタセプタをサーバー側の要求インタセプタのリストに追加します。- パラメータ:
interceptor
- 追加するServerRequestInterceptor。- 例外:
DuplicateName
- このインタセプタの名前を持つサーバー側の要求インタセプタがすでに存在する場合にスローされる
-
add_ior_interceptor
void add_ior_interceptor(IORInterceptor interceptor) throws DuplicateName
IORインタセプタをIORインタセプタのリストに追加します。- パラメータ:
interceptor
- 追加するIORInterceptor。- 例外:
DuplicateName
- このインタセプタの名前を持つIORインタセプタがすでに存在する場合にスローされる。
-
allocate_slot_id
int allocate_slot_id()
PortableInterceptor.Current
にスロットを割り当てるために呼び出されます。ORBイニシャライザの内部でスロットIDを割り当てることはできますが、それらのスロットを初期化することはできないので注意してください。
- 戻り値:
- 割り当てられたスロットのインデックス。
- 例外:
BAD_INV_ORDER
- ORBイニシャライザの内部でPICurrent
に対してset_slot
またはget_slot
が呼び出された場合、標準マイナー・コード14でスローされる。- 関連項目:
Current
-
register_policy_factory
void register_policy_factory(int type, PolicyFactory policy_factory)
指定されたPolicyType
のPolicyFactory
を登録します。- パラメータ:
type
- 指定されたPolicyFactory
が扱うポリシー型。policy_factory
- 指定されたポリシー型のファクトリ。- 例外:
BAD_INV_ORDER
- 指定されたPolicyFactory
のPolicyType
がない場合、標準マイナー・コード16でスローされる。
-
-