|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
各 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 と同じです。 |
メソッドの詳細 |
public String[] arguments()
ORB.init
に渡された引数を返します。ORB の引数が含まれている場合も含まれていない場合もあります。
public String orb_id()
public CodecFactory codec_factory()
IOP.CodecFactory
を返します。CodecFactory
は通常、ORB.resolve_initial_references( "CodecFactory" )
の呼び出しを介して取得されますが、ORB がまだ利用できず、インタセプタが Codec
を必要とする (特にサービスコンテキストの処理時) ため、ORB の初期化時には Codec
を取得する手段が必要となります。
public 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
public Object resolve_initial_references(String id) throws InvalidName
ORB.resolve_initial_references
と同じです。同じ機能がここに用意されているのは、ORB の初期化が完了していないためまだ利用できないときに、インタセプタ登録の一環として初期参照が必要となる場合があるからです。唯一の違いは、ORB のバージョンでは PIDL (CORBA::ORB::ObjectId
と CORBA::ORB::InvalidName
) を使用するのに対して、このインタフェースのバージョンではこのインタフェースに定義された IDL を使用する点です。ただし、セマンティクスは同じです。
このオペレーションは、 post_init の実行時のみ有効です。
InvalidName
public void add_client_request_interceptor(ClientRequestInterceptor interceptor) throws DuplicateName
interceptor
- 追加する ClientRequestInterceptor
DuplicateName
- このインタセプタの名前を持つクライアント側の要求インタセプタがすでに存在する場合にスローされるpublic void add_server_request_interceptor(ServerRequestInterceptor interceptor) throws DuplicateName
interceptor
- 追加する ServerRequestInterceptor
DuplicateName
- このインタセプタの名前を持つサーバ側の要求インタセプタがすでに存在する場合にスローされるpublic void add_ior_interceptor(IORInterceptor interceptor) throws DuplicateName
interceptor
- 追加する IORInterceptor
DuplicateName
- このインタセプタの名前を持つ IOR インタセプタがすでに存在する場合にスローされるpublic int allocate_slot_id()
PortableInterceptor.Current
にスロットを割り当てるために呼び出されます。
ORB イニシャライザの内部でスロット ID を割り当てることはできますが、それらのスロットを初期化することはできないので注意してください。
BAD_INV_ORDER
- ORB イニシャライザの内部で PICurrent
に対して set_slot
または get_slot
が呼び出された場合、標準マイナーコード 14 でスローされるCurrent
public void register_policy_factory(int type, PolicyFactory policy_factory)
PolicyType
の PolicyFactory
を登録します。
type
- 指定された PolicyFactory
が扱うポリシー型policy_factory
- 指定されたポリシー型のファクトリ
BAD_INV_ORDER
- 指定された PolicyType
の PolicyFactory
がない場合、標準マイナーコード 16 でスローされる
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.