JavaTM 2
Platform
Std. Ed. v1.4.0

org.omg.PortableServer
インタフェース POAOperations

既知のサブインタフェースの一覧:
POA

public interface POAOperations

POA オブジェクトは、オブジェクトのコレクションの実装を管理します。POA は、オブジェクト ID によって識別されるオブジェクトの名前空間をサポートします。また、POA の名前空間も提供します。POA は既存の POA の子として作成され、それによってルート POA で始まる階層が形成されます。POA オブジェクトは、他のプロセスにエクスポートしたり、ORB::object_to_string を使って外部化したりしないでください。


メソッドの概要
 void activate_object_with_id(byte[] id, Servant p_servant)
          このオペレーションは、指定されたオブジェクト ID と指定されたサーバントとの関連付けを Active Object Map に入れます。
 byte[] activate_object(Servant p_servant)
          このオペレーションは、オブジェクト ID を生成し、そのオブジェクト ID と指定されたサーバントを Active Object Map に入れます。
 IdAssignmentPolicy create_id_assignment_policy(IdAssignmentPolicyValue value)
          これらのオペレーションはそれぞれ、指定された値を持つポリシーオブジェクトへの参照を返します。
 IdUniquenessPolicy create_id_uniqueness_policy(IdUniquenessPolicyValue value)
          これらのオペレーションはそれぞれ、指定された値を持つポリシーオブジェクトへの参照を返します。
 ImplicitActivationPolicy create_implicit_activation_policy(ImplicitActivationPolicyValue value)
          これらのオペレーションはそれぞれ、指定された値を持つポリシーオブジェクトへの参照を返します。
 LifespanPolicy create_lifespan_policy(LifespanPolicyValue value)
          これらのオペレーションはそれぞれ、指定された値を持つポリシーオブジェクトへの参照を返します。
 POA create_POA(String adapter_name, POAManager a_POAManager, Policy[] policies)
          このオペレーションは、新しい POA をターゲット POA の子として作成します。
 Object create_reference_with_id(byte[] oid, String intf)
          このオペレーションは、指定されたオブジェクト ID とインタフェースリポジトリ ID の値をカプセル化するオブジェクト参照を作成します。
 Object create_reference(String intf)
          このオペレーションは、POA によって生成されたオブジェクト ID 値と指定されたインタフェースリポジトリ ID をカプセル化するオブジェクト参照を作成します。
 RequestProcessingPolicy create_request_processing_policy(RequestProcessingPolicyValue value)
          これらのオペレーションはそれぞれ、指定された値を持つポリシーオブジェクトへの参照を返します。
 ServantRetentionPolicy create_servant_retention_policy(ServantRetentionPolicyValue value)
          これらのオペレーションはそれぞれ、指定された値を持つポリシーオブジェクトへの参照を返します。
 ThreadPolicy create_thread_policy(ThreadPolicyValue value)
          これらのオペレーションはそれぞれ、指定された値を持つポリシーオブジェクトへの参照を返します。
 void deactivate_object(byte[] oid)
          このオペレーションによって、oid パラメータに指定された ObjectId が終了します。
 void destroy(boolean etherealize_objects, boolean wait_for_completion)
          このオペレーションは、POA とその下位 POA をすべて破棄します。
 POA find_POA(String adapter_name, boolean activate_it)
          ターゲット POA が指定された名前 (ターゲット POA を基準にしている) を持つ子 POA の親である場合は、その子 POA が返されます。
 ServantManager get_servant_manager()
          POA の ServantRetentionPolicy が RETAIN の場合、ServantManager 引数 (imgr) は ServantActivator インタフェースをサポートします。
 Servant get_servant()
          このオペレーションは、POA に関連付けられたデフォルトのサーバントを返します。
 Object id_to_reference(byte[] oid)
          指定されたオブジェクト ID を持つオブジェクトが現在アクティブになっている場合は、そのオブジェクトを起動するための情報をカプセル化しているオブジェクト参照が返されます。
 Servant id_to_servant(byte[] oid)
          POA に RETAIN ポリシーが設定されていて、指定の ObjectId が Active Object Map に含まれている場合は、Active Object Map 内の当該オブジェクトに関連付けられたサーバントを返します。
 byte[] id()
          POA が作成される過程で、POA の一意の ID を返します。
 byte[] reference_to_id(Object reference)
          このオペレーションは、指定のオブジェクト参照によってカプセル化されたオブジェクト ID 値を返します。
 Servant reference_to_servant(Object reference)
          POA に RETAIN ポリシーが設定されていて、指定のオブジェクトが Active Object Map に含まれている場合は、Active Object Map 内の当該オブジェクトに関連付けられたサーバントを返します。
 byte[] servant_to_id(Servant p_servant)
          このオペレーションには、次の 4 つの動作が考えられます。
 Object servant_to_reference(Servant p_servant)
          この POA によってオペレーションがディスパッチされるとき以外にこのオペレーションが呼び出される場合は、RETAIN ポリシーと、UNIQUE_ID または IMPLICIT_ACTIVATION ポリシーのどちらかが必要となります。
 void set_servant_manager(ServantManager imgr)
          このオペレーションは、POA に関連付けられたデフォルトのサーバントマネージャを設定します。
 void set_servant(Servant p_servant)
          このオペレーションは、指定されたサーバントをデフォルトのサーバントとして POA に登録します。
 AdapterActivator the_activator()
          この属性は、POA に関連付けられたアダプタアクティベータを識別します。
 void the_activator(AdapterActivator newThe_activator)
          この属性は、POA に関連付けられたアダプタアクティベータを識別します。
 POA[] the_children()
          この属性は、POA のすべての子 POA から成る現在の子 POA のセットを識別します。
 String the_name()
          この属性は、POA を、その親を基準にして識別します。
 POA the_parent()
          この属性は、POA の親を識別します。
 POAManager the_POAManager()
          この属性は、POA に関連付けられた POA マネージャを識別します。
 

メソッドの詳細

create_POA

public POA create_POA(String adapter_name,
                      POAManager a_POAManager,
                      Policy[] policies)
               throws AdapterAlreadyExists,
                      InvalidPolicy
このオペレーションは、新しい POA をターゲット POA の子として作成します。

パラメータ:
adapter_name - 同じ親 POA を持つ他の POA を基準にして新しい POA を識別する
a_POAManager - 新しい POA に関連付けられる POA マネージャを示す
policies - POA に関連付けて、その動作を制御するためのポリシーオブジェクトを示す
例外:
AdapterAlreadyExists - ターゲット POA が指定された名前を持つ子 POA をすでに保有していることを示す
InvalidPolicy - ポリシーオブジェクトのどれかが ORB に有効でないか、競合しているか、実行されていない管理アクションを必要としている場合にスローされる

find_POA

public POA find_POA(String adapter_name,
                    boolean activate_it)
             throws AdapterNonExistent
ターゲット POA が指定された名前 (ターゲット POA を基準にしている) を持つ子 POA の親である場合は、その子 POA が返されます。

パラメータ:
adapter_name - 検索対象の POA 名
activate_it - 指定された名前を持つ POA が存在しないときに、activate_it パラメータの値が TRUE である場合は、ターゲット POA の AdapterActivator (存在する場合) が呼び出される
戻り値:
POA が存在するか、AdapterActivator によって起動されている場合はその POA
AdapterNonExistent

destroy

public void destroy(boolean etherealize_objects,
                    boolean wait_for_completion)
このオペレーションは、POA とその下位 POA をすべて破棄します。下位 POA がすべて破棄されてから (再帰的に)、それらを包含していた POA が破棄されます。そのようにして破壊された POA (つまり、その名前を持つ POA) は、同じプロセス内にあとで再作成することができます。

パラメータ:
etherealize_objects - サーバントマネージャに対する etherealize オペレーションを呼び出す必要があるかどうかを示すフラグ
wait_for_completion - POA とその子 POA が起動要求と霊化 (etherealization) が完了するまで待機する必要があるかどうかを示すフラグ

create_thread_policy

public ThreadPolicy create_thread_policy(ThreadPolicyValue value)
これらのオペレーションはそれぞれ、指定された値を持つポリシーオブジェクトへの参照を返します。

パラメータ:
value - ポリシー型
戻り値:
ThreadPolcy オブジェクト

create_lifespan_policy

public LifespanPolicy create_lifespan_policy(LifespanPolicyValue value)
これらのオペレーションはそれぞれ、指定された値を持つポリシーオブジェクトへの参照を返します。

パラメータ:
value - ポリシー型
戻り値:
LifespanPolicy オブジェクト

create_id_uniqueness_policy

public IdUniquenessPolicy create_id_uniqueness_policy(IdUniquenessPolicyValue value)
これらのオペレーションはそれぞれ、指定された値を持つポリシーオブジェクトへの参照を返します。

パラメータ:
value - ポリシー型
戻り値:
IdUniquenessPolicy オブジェクト

create_id_assignment_policy

public IdAssignmentPolicy create_id_assignment_policy(IdAssignmentPolicyValue value)
これらのオペレーションはそれぞれ、指定された値を持つポリシーオブジェクトへの参照を返します。

パラメータ:
value - ポリシー型
戻り値:
IdAssignmentPolicy オブジェクト

create_implicit_activation_policy

public ImplicitActivationPolicy create_implicit_activation_policy(ImplicitActivationPolicyValue value)
これらのオペレーションはそれぞれ、指定された値を持つポリシーオブジェクトへの参照を返します。

パラメータ:
value - ポリシー型
戻り値:
ImplicitActivationPolicy オブジェクト

create_servant_retention_policy

public ServantRetentionPolicy create_servant_retention_policy(ServantRetentionPolicyValue value)
これらのオペレーションはそれぞれ、指定された値を持つポリシーオブジェクトへの参照を返します。

パラメータ:
value - ポリシー型
戻り値:
ServantRetentionPolicy オブジェクト

create_request_processing_policy

public RequestProcessingPolicy create_request_processing_policy(RequestProcessingPolicyValue value)
これらのオペレーションはそれぞれ、指定された値を持つポリシーオブジェクトへの参照を返します。

パラメータ:
value - ポリシー型
戻り値:
RequestProcessingPolicy オブジェクト

the_name

public String the_name()
この属性は、POA を、その親を基準にして識別します。この名前は、POA が作成されたときに割り当てられます。


the_parent

public POA the_parent()
この属性は、POA の親を識別します。ルート POA の親は null です。


the_children

public POA[] the_children()
この属性は、POA のすべての子 POA から成る現在の子 POA のセットを識別します。子 POA のセットには、POA の直接の子だけが含まれ、その下位の POA は含まれません。


the_POAManager

public POAManager the_POAManager()
この属性は、POA に関連付けられた POA マネージャを識別します。


the_activator

public AdapterActivator the_activator()
この属性は、POA に関連付けられたアダプタアクティベータを識別します。


the_activator

public void the_activator(AdapterActivator newThe_activator)
この属性は、POA に関連付けられたアダプタアクティベータを識別します。


get_servant_manager

public ServantManager get_servant_manager()
                                   throws WrongPolicy
POA の ServantRetentionPolicy が RETAIN の場合、ServantManager 引数 (imgr) は ServantActivator インタフェースをサポートします。NON_RETAIN ポリシーの場合、ServantManager 引数は ServantLocator インタフェースをサポートします。この引数が nil であるか、必要なインタフェースをサポートしていない場合は、OBJ_ADAPTER 例外がスローされます。

戻り値:
POA に関連付けられた ServantManager、何も存在しない場合は null
例外:
WrongPolicy - USE_SERVANT_MANAGER ポリシーが指定されていない場合にスローされる

set_servant_manager

public void set_servant_manager(ServantManager imgr)
                         throws WrongPolicy
このオペレーションは、POA に関連付けられたデフォルトのサーバントマネージャを設定します。POA が作成されたあとに 1 度だけ呼び出すことができます。すでに設定済みのサーバントマネージャを設定しようとすると、BAD_INV_ORDER 例外がスローされます。

パラメータ:
imgr - デフォルトとして使用されるサーバントマネージャ
例外:
WrongPolicy - USE_SERVANT_MANAGER ポリシーが指定されていない場合にスローされる

get_servant

public Servant get_servant()
                    throws NoServant,
                           WrongPolicy
このオペレーションは、POA に関連付けられたデフォルトのサーバントを返します。

戻り値:
p_servant POA に関連付けられたデフォルトのサーバント
例外:
NoServant - POA に関連付けられたデフォルトのサーバントがない場合にスローされる
WrongPolicy - USE_DEFAULT_SERVANT ポリシーが指定されていない場合にスローされる

set_servant

public void set_servant(Servant p_servant)
                 throws WrongPolicy
このオペレーションは、指定されたサーバントをデフォルトのサーバントとして POA に登録します。このサーバントは、Active Object Map にサーバントが見つからないすべての要求に使用されます。

パラメータ:
p_servant - デフォルトとして使用されるサーバント
例外:
WrongPolicy - USE_DEFAULT_SERVANT ポリシーが指定されていない場合にスローされる

activate_object

public byte[] activate_object(Servant p_servant)
                       throws ServantAlreadyActive,
                              WrongPolicy
このオペレーションは、オブジェクト ID を生成し、そのオブジェクト ID と指定されたサーバントを Active Object Map に入れます。

パラメータ:
p_servant - 起動するオブジェクトに関連付けられるサーバント
戻り値:
POA によって生成されたオブジェクト ID
例外:
ServantAlreadyActive - POA に UNIQUE_ID ポリシーが指定されているときに、サーバントが Active Object Map にすでに格納されている場合にスローされる
WrongPolicy - SYSTEM_ID と RETAIN ポリシーが指定されていない場合にスローされる

activate_object_with_id

public void activate_object_with_id(byte[] id,
                                    Servant p_servant)
                             throws ServantAlreadyActive,
                                    ObjectAlreadyActive,
                                    WrongPolicy
このオペレーションは、指定されたオブジェクト ID と指定されたサーバントとの関連付けを Active Object Map に入れます。

パラメータ:
id - 起動するオブジェクトのオブジェクト ID
p_servant - オブジェクトに関連付けられるサーバント
例外:
ServantAlreadyActive - POA に UNIQUE_ID ポリシーが指定されているときに、サーバントが Active Object Map にすでに格納されている場合にスローされる
ObjectAlreadyActive - オブジェクトが POA 内ですでにアクティブになっている場合にスローされる
WrongPolicy - RETAIN ポリシーが指定されていない場合にスローされる

deactivate_object

public void deactivate_object(byte[] oid)
                       throws ObjectNotActive,
                              WrongPolicy
このオペレーションによって、oid パラメータに指定された ObjectId が終了します。終了した ObjectId は、その ObjectId のアクティブな要求がなくなるまで、引き続き要求を処理します。そして、ObjectId に対して実行されているすべての要求が完了すると、Active Object Map から削除されます。

パラメータ:
oid - 終了するオブジェクトのオブジェクト ID
例外:
ObjectNotActive - 指定された oid を持つオブジェクトが Active Object Map にない場合
WrongPolicy - RETAIN ポリシーが指定されていない場合にスローされる

create_reference

public Object create_reference(String intf)
                        throws WrongPolicy
このオペレーションは、POA によって生成されたオブジェクト ID 値と指定されたインタフェースリポジトリ ID をカプセル化するオブジェクト参照を作成します。

パラメータ:
intf - オブジェクト参照を作成するためのリポジトリ ID
戻り値:
intf を使用して作成されたオブジェクト参照
例外:
WrongPolicy - SYSTEM_ID ポリシーが指定されていない場合

create_reference_with_id

public Object create_reference_with_id(byte[] oid,
                                       String intf)
このオペレーションは、指定されたオブジェクト ID とインタフェースリポジトリ ID の値をカプセル化するオブジェクト参照を作成します。このオペレーションによって起動は行われません。作成されたオブジェクト参照は、クライアントに渡すことができます。そして、該当するポリシーによって、それらの参照に対するそのあとの要求で、必要があればオブジェクトが起動されたり、デフォルトのサーバントが使用されたりします。

パラメータ:
oid - objref を作成するためのオブジェクト ID
intf - objref を作成するためのリポジトリ ID
戻り値:
oid と intf を使用して作成されたオブジェクト参照
例外:
BAD_PARAM - POA に SYSTEM_ID ポリシーが指定されているときに、システムによってまたはこの POA に対してオブジェクト ID 値が生成されなかった場合にスローされる

servant_to_id

public byte[] servant_to_id(Servant p_servant)
                     throws ServantNotActive,
                            WrongPolicy
このオペレーションには、次の 4 つの動作が考えられます。1. POA に UNIQUE_ID ポリシーが設定されていて、指定のサーバントがアクティブな場合は、そのサーバントに関連付けられたオブジェクト ID が返されます。2. POA に IMPLICIT_ACTIVATION ポリシーが設定されていて、POA に MULTIPLE_ID ポリシーが指定されているか、指定のサーバントがアクティブでない場合は、POA によって生成されたオブジェクト ID とそのサーバントに関連付けられたインタフェース ID を使ってそのサーバントが起動され、そのオブジェクト ID が返されます。3. POA に USE_DEFAULT_SERVANT ポリシーが設定され、指定のサーバントがデフォルトのサーバントであり、そのデフォルトのサーバントに対する要求を実行しているときにこのオペレーションが呼び出される場合は、現在の呼び出しに関連付けられたオブジェクト ID が返されます。4. 上記以外の場合は、ServantNotActive 例外がスローされます。

パラメータ:
p_servant - オブジェクト ID が返されるサーバント
戻り値:
このサーバントに関連付けられたオブジェクト ID
例外:
ServantNotActive - 上記の規則とポリシーの組み合わせが満たされない場合
WrongPolicy - USE_DEFAULT_SERVANT ポリシーが指定されていない場合、あるいは RETAIN ポリシーと、UNIQUE_ID または IMPLICIT_ACTIVATION ポリシーの組み合わせが指定されていない場合

servant_to_reference

public Object servant_to_reference(Servant p_servant)
                            throws ServantNotActive,
                                   WrongPolicy
この POA によってオペレーションがディスパッチされるとき以外にこのオペレーションが呼び出される場合は、RETAIN ポリシーと、UNIQUE_ID または IMPLICIT_ACTIVATION ポリシーのどちらかが必要となります。次の 4 つの動作が考えられます。1. POA に RETAIN と UNIQUE_ID の両方のポリシーが設定されていて、指定のサーバントがアクティブな場合は、そのサーバントを起動するための情報をカプセル化しているオブジェクト参照が返されます。2. POA に RETAIN と IMPLICIT_ACTIVATION の両方のポリシーが設定されていて、POA に MULTIPLE_ID ポリシーが指定されているか、指定のサーバントがアクティブでない場合は、POA によって生成されたオブジェクト ID とそのサーバントに関連付けられたインタフェース ID を使ってそのサーバントが起動され、対応するオブジェクト参照が返されます。3. 指定のサーバントに対する要求を実行しているときにこのメソッドが呼び出される場合は、現在の呼び出しに関連付けられたオブジェクト参照が返されます。4. 上記以外の場合は、ServantNotActive 例外がスローされます。

パラメータ:
p_servant - オブジェクト参照を取得する必要があるサーバント
戻り値:
このサーバントに関連付けられたオブジェクト参照
例外:
WrongPolicy - 指定のサーバントに対する要求を実行しているとき以外にこのオペレーションが呼び出されるときに、必要なポリシーが指定されていない場合
ServantNotActive - 上記のポリシーと規則が満たされない場合

reference_to_servant

public Servant reference_to_servant(Object reference)
                             throws ObjectNotActive,
                                    WrongPolicy,
                                    WrongAdapter
POA に RETAIN ポリシーが設定されていて、指定のオブジェクトが Active Object Map に含まれている場合は、Active Object Map 内の当該オブジェクトに関連付けられたサーバントを返します。これに対し、POA に USE_DEFAULT_SERVANT ポリシーが設定されていて、デフォルトのサーバントが POA に登録されている場合は、デフォルトのサーバントを返します。この POA によってオブジェクト参照が作成されなかった場合は、WrongAdapter 例外がスローされます (POA.IDL との不一致に関する OMG 問題)。

パラメータ:
reference - サーバントが返されるオブジェクト参照
戻り値:
オブジェクト参照に関連付けられたサーバント
例外:
WrongPolicy - RETAIN ポリシーと USE_DEFAULT_SERVANT ポリシーのどちらも指定されていない場合
ObjectNotActive - サーバントが Active Object Map に存在しないか (RETAIN の場合)、デフォルトのサーバントが登録されていない (USE_DEFAULT_SERVANT の場合) 場合
WrongAdapter - この POA インスタンスによってオブジェクト参照が作成されなかった場合

reference_to_id

public byte[] reference_to_id(Object reference)
                       throws WrongAdapter,
                              WrongPolicy
このオペレーションは、指定のオブジェクト参照によってカプセル化されたオブジェクト ID 値を返します。そのオペレーションが実行されている POA によってオブジェクト参照が作成された場合にだけ有効です。そのオブジェクト参照が示すオブジェクトがアクティブになっていなくても、このオペレーションは成功します。

パラメータ:
reference - オブジェクト ID が返される必要のあるオブジェクト参照
戻り値:
オブジェクト参照にカプセル化されているオブジェクト ID
例外:
WrongAdapter - オブジェクト参照がそこに指定された POA によって作成されなかった場合
WrongPolicy - 今後の機能拡張に備えて宣言されている

id_to_servant

public Servant id_to_servant(byte[] oid)
                      throws ObjectNotActive,
                             WrongPolicy
POA に RETAIN ポリシーが設定されていて、指定の ObjectId が Active Object Map に含まれている場合は、Active Object Map 内の当該オブジェクトに関連付けられたサーバントを返します。これに対し、POA に USE_DEFAULT_SERVANT ポリシーが設定されていて、デフォルトのサーバントが POA に登録されている場合は、デフォルトのサーバントを返します。

パラメータ:
oid - サーバントが返されるオブジェクト ID
戻り値:
oid に関連付けられたサーバント
例外:
ObjectNotActive - ObjectId が Active Object Map に存在しないか (RETAIN ポリシーの場合)、デフォルトのサーバントが登録されていない (USE_DEFAULT_SERVANT ポリシーの場合) 場合
WrongPolicy - RETAIN ポリシーと USE_DEFAULT_SERVANT ポリシーのどちらも指定されていない場合

id_to_reference

public Object id_to_reference(byte[] oid)
                       throws ObjectNotActive,
                              WrongPolicy
指定されたオブジェクト ID を持つオブジェクトが現在アクティブになっている場合は、そのオブジェクトを起動するための情報をカプセル化しているオブジェクト参照が返されます。

パラメータ:
oid - オブジェクト参照が返されるオブジェクトの ID
戻り値:
オブジェクト参照
例外:
ObjectNotActive - オブジェクト ID 値が POA でアクティブになっていない場合
WrongPolicy - RETAIN ポリシーがない場合

id

public byte[] id()
POA が作成される過程で、POA の一意の ID を返します。この ID は、ポータブルインタセプタで使用されます。

この ID は、そのプロセスにおける POA の有効期間に対して一意であることが保証されています。持続的な POA の場合、別の POA と同じ名前で同じパスに作成された POA は同一であるため、ID も同じになります。一時的な POA の場合、それぞれの POA が一意になります。


JavaTM 2
Platform
Std. Ed. v1.4.0

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

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.