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 と同じ。 |
String[] arguments()
ORB.init に渡された引数を返します。ORB の引数が含まれている場合も含まれていない場合もあります。String orb_id()
CodecFactory codec_factory()
IOP.CodecFactory を返します。CodecFactory は通常、ORB.resolve_initial_references( "CodecFactory" ) の呼び出しを介して取得されますが、ORB がまだ利用できず、インタセプタが Codec を必要とする (特にサービスコンテキストの処理時) ため、ORB の初期化時には Codec を取得する手段が必要となります。void register_initial_reference(String id, Object obj) throws InvalidName
ORB.register_initial_reference と同じ。同じ機能がここに用意されているのは、ORB の初期化が完了していないためまだ利用できないときに、インタセプタ登録の一環として初期参照を登録することが必要な場合があるためです。唯一の違いは、ORB のバージョンでは PIDL (CORBA.ORB.ObjectId と CORBA.ORB.InvalidName) を使用するのに対して、このインタフェースのバージョンではこのインタフェースに定義された IDL を使用する点です。ただし、セマンティクスは同じです。InvalidNameObject resolve_initial_references(String id) throws InvalidName
ORB.resolve_initial_references と同じ。同じ機能がここに用意されているのは、ORB の初期化が完了していないためまだ利用できないときに、インタセプタ登録の一環として初期参照が必要となる場合があるからです。唯一の違いは、ORB のバージョンでは PIDL (CORBA::ORB::ObjectId と CORBA::ORB::InvalidName) を使用するのに対して、このインタフェースのバージョンではこのインタフェースに定義された IDL を使用する点です。ただし、セマンティクスは同じです。
このオペレーションは、post_init の実行時のみ有効です。
InvalidNamevoid add_client_request_interceptor(ClientRequestInterceptor interceptor) throws DuplicateName
interceptor - 追加する ClientRequestInterceptor。DuplicateName - このインタセプタの名前を持つクライアント側の要求インタセプタがすでに存在する場合にスローされる。void add_server_request_interceptor(ServerRequestInterceptor interceptor) throws DuplicateName
interceptor - 追加する ServerRequestInterceptor。DuplicateName - このインタセプタの名前を持つサーバー側の要求インタセプタがすでに存在する場合にスローされるvoid add_ior_interceptor(IORInterceptor interceptor) throws DuplicateName
interceptor - 追加する IORInterceptor。DuplicateName - このインタセプタの名前を持つ IOR インタセプタがすでに存在する場合にスローされる。int allocate_slot_id()
PortableInterceptor.Current にスロットを割り当てるために呼び出されます。
ORB イニシャライザの内部でスロット ID を割り当てることはできますが、それらのスロットを初期化することはできないので注意してください。
BAD_INV_ORDER - ORB イニシャライザの内部で PICurrent に対して set_slot または get_slot が呼び出された場合、標準マイナーコード 14 でスローされる。Currentvoid register_policy_factory(int type,
PolicyFactory policy_factory)
PolicyType の PolicyFactory を登録します。type - 指定された PolicyFactory が扱うポリシー型。policy_factory - 指定されたポリシー型のファクトリ。BAD_INV_ORDER - 指定された PolicyFactory の PolicyType がない場合、標準マイナーコード 16 でスローされる。 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.