JavaTM 2 Platform
Standard Ed. 5.0

org.omg.PortableInterceptor
インタフェース ORBInitInfoOperations

既知のサブインタフェースの一覧:
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)
          指定された PolicyTypePolicyFactory を登録します。
 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.ObjectIdCORBA.ORB.InvalidName) を使用するのに対して、このインタフェースのバージョンではこのインタフェースに定義された IDL を使用する点です。ただし、セマンティクスは同じです。

例外:
InvalidName

resolve_initial_references

Object resolve_initial_references(String id)
                                  throws InvalidName
ORB.resolve_initial_references と同じです。同じ機能がここに用意されているのは、ORB の初期化が完了していないためまだ利用できないときに、インタセプタ登録の一環として初期参照が必要となる場合があるからです。唯一の違いは、ORB のバージョンでは PIDL (CORBA::ORB::ObjectIdCORBA::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)
指定された PolicyTypePolicyFactory を登録します。

パラメータ:
type - 指定された PolicyFactory が扱うポリシー型
policy_factory - 指定されたポリシー型のファクトリ
例外:
BAD_INV_ORDER - 指定された PolicyTypePolicyFactory がない場合、標準マイナーコード 16 でスローされる

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。