-
- 既知のすべてのサブインタフェース:
POA
public interface POAOperations
POAオブジェクトは、オブジェクトのコレクションの実装を管理します。 POAは、オブジェクトIDによって識別されるオブジェクトの名前空間をサポートします。 また、POAの名前空間も提供します。 POAは既存のPOAの子として作成され、それによってルートPOAで始まる階層が形成されます。 POAオブジェクトは、ほかのプロセスにエクスポートしたり、ORB::object_to_stringを使用して外部化したりしないでください。
-
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 抽象メソッド 修飾子と型 メソッド 説明 byte[]
activate_object(Servant p_servant)
このオペレーションは、オブジェクトIDを生成し、そのオブジェクトIDと指定されたサーバントをActive Object Mapに入れます。void
activate_object_with_id(byte[] id, Servant p_servant)
このオペレーションは、指定されたオブジェクト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(String intf)
このオペレーションは、POAによって生成されたオブジェクトID値と指定されたインタフェース・リポジトリIDをカプセル化するオブジェクト参照を作成します。Object
create_reference_with_id(byte[] oid, String intf)
この操作は、指定されたオブジェクト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が返されます。Servant
get_servant()
このオペレーションは、POAに関連付けられたデフォルトのサーバントを返します。ServantManager
get_servant_manager()
POAのServantRetentionPolicyがRETAINの場合、ServantManager引数(imgr)はServantActivatorインタフェースをサポートします。byte[]
id()
POAが作成される過程で、POAの一意のIDを返します。Object
id_to_reference(byte[] oid)
指定されたオブジェクトIDを持つオブジェクトが現在アクティブになっている場合は、そのオブジェクトを起動するための情報をカプセル化しているオブジェクト参照が返されます。Servant
id_to_servant(byte[] oid)
POAにRETAINポリシーが設定されていて、指定されたObjectIdがActive Object Mapに含まれている場合は、Active Object Map内のそのオブジェクトに関連付けられたサーバントを返します。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つの動作が考えられます。1.Object
servant_to_reference(Servant p_servant)
このPOAによって操作がディスパッチされるとき以外にこの操作が呼び出される場合は、RETAINポリシーと、UNIQUE_IDまたはIMPLICIT_ACTIVATIONポリシーのどちらかが必要となります。void
set_servant(Servant p_servant)
この操作は、指定されたサーバントをデフォルトのサーバントとしてPOAに登録します。void
set_servant_manager(ServantManager imgr)
この操作は、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
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
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
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
ThreadPolicy create_thread_policy(ThreadPolicyValue value)
これらのオペレーションはそれぞれ、指定された値を持つポリシー・オブジェクトへの参照を返します。- パラメータ:
value
- ポリシー型- 戻り値:
- ThreadPolcyオブジェクト
-
create_lifespan_policy
LifespanPolicy create_lifespan_policy(LifespanPolicyValue value)
これらのオペレーションはそれぞれ、指定された値を持つポリシー・オブジェクトへの参照を返します。- パラメータ:
value
- ポリシー型- 戻り値:
- LifespanPolicyオブジェクト。
-
create_id_uniqueness_policy
IdUniquenessPolicy create_id_uniqueness_policy(IdUniquenessPolicyValue value)
これらのオペレーションはそれぞれ、指定された値を持つポリシー・オブジェクトへの参照を返します。- パラメータ:
value
- ポリシー型- 戻り値:
- IdUniquenessPolicyオブジェクト。
-
create_id_assignment_policy
IdAssignmentPolicy create_id_assignment_policy(IdAssignmentPolicyValue value)
これらのオペレーションはそれぞれ、指定された値を持つポリシー・オブジェクトへの参照を返します。- パラメータ:
value
- ポリシー型- 戻り値:
- IdAssignmentPolicyオブジェクト。
-
create_implicit_activation_policy
ImplicitActivationPolicy create_implicit_activation_policy(ImplicitActivationPolicyValue value)
これらのオペレーションはそれぞれ、指定された値を持つポリシー・オブジェクトへの参照を返します。- パラメータ:
value
- ポリシー型- 戻り値:
- ImplicitActivationPolicyオブジェクト。
-
create_servant_retention_policy
ServantRetentionPolicy create_servant_retention_policy(ServantRetentionPolicyValue value)
これらのオペレーションはそれぞれ、指定された値を持つポリシー・オブジェクトへの参照を返します。- パラメータ:
value
- ポリシー型- 戻り値:
- ServantRetentionPolicyオブジェクト。
-
create_request_processing_policy
RequestProcessingPolicy create_request_processing_policy(RequestProcessingPolicyValue value)
これらのオペレーションはそれぞれ、指定された値を持つポリシー・オブジェクトへの参照を返します。- パラメータ:
value
- ポリシー型- 戻り値:
- RequestProcessingPolicyオブジェクト。
-
the_name
String the_name()
この属性は、POAを、その親を基準にして識別します。 この名前は、POAが作成されたときに割り当てられます。
-
the_parent
POA the_parent()
この属性は、POAの親を識別します。 ルートPOAの親はnullです。
-
the_children
POA[] the_children()
この属性は、POAのすべての子POAから成る現在の子POAのセットを識別します。 子POAのセットには、POAの直接の子だけが含まれ、その下位のPOAは含まれません。
-
the_POAManager
POAManager the_POAManager()
この属性は、POAに関連付けられたPOAマネージャを識別します。
-
the_activator
AdapterActivator the_activator()
この属性は、POAに関連付けられたアダプタ・アクティベータを識別します。
-
the_activator
void the_activator(AdapterActivator newThe_activator)
この属性は、POAに関連付けられたアダプタ・アクティベータを識別します。
-
get_servant_manager
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
void set_servant_manager(ServantManager imgr) throws WrongPolicy
この操作は、POAに関連付けられたデフォルトのサーバント・マネージャを設定します。 POAが作成されたあとに1度だけ呼び出すことができます。 すでに設定済みのサーバント・マネージャを設定しようとすると、BAD_INV_ORDER例外がスローされます。- パラメータ:
imgr
- デフォルトとして使用されるサーバント・マネージャ。- 例外:
WrongPolicy
- USE_SERVANT_MANAGERポリシーが指定されていない場合にスローされる。
-
get_servant
Servant get_servant() throws NoServant, WrongPolicy
このオペレーションは、POAに関連付けられたデフォルトのサーバントを返します。- 戻り値:
- p_servant POAに関連付けられたデフォルトのサーバント。
- 例外:
NoServant
- POAに関連付けられたデフォルトのサーバントがない場合にスローされる。WrongPolicy
- USE_DEFAULT_SERVANTポリシーが指定されていない場合にスローされる。
-
set_servant
void set_servant(Servant p_servant) throws WrongPolicy
この操作は、指定されたサーバントをデフォルトのサーバントとしてPOAに登録します。 このサーバントは、Active Object Mapにサーバントが見つからないすべての要求に使用されます。- パラメータ:
p_servant
- デフォルトとして使用されるサーバント。- 例外:
WrongPolicy
- USE_DEFAULT_SERVANTポリシーが指定されていない場合にスローされる。
-
activate_object
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
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
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
Object create_reference(String intf) throws WrongPolicy
このオペレーションは、POAによって生成されたオブジェクトID値と指定されたインタフェース・リポジトリIDをカプセル化するオブジェクト参照を作成します。- パラメータ:
intf
- オブジェクト参照を作成するためのリポジトリID。- 戻り値:
- intfを使用して作成されたオブジェクト参照。
- 例外:
WrongPolicy
- SYSTEM_IDポリシーが指定されていない場合。
-
create_reference_with_id
Object create_reference_with_id(byte[] oid, String intf)
この操作は、指定されたオブジェクトIDとインタフェース・リポジトリIDの値をカプセル化するオブジェクト参照を作成します。 この操作によって起動は行われません。 作成されたオブジェクト参照は、クライアントに渡すことができます。そして、該当するポリシーによって、それらの参照に対するその後の要求で、必要があればオブジェクトが起動されたり、デフォルトのサーバントが使用されたりします。- パラメータ:
oid
- objrefを作成するためのオブジェクトIDintf
- objrefを作成するためのリポジトリID- 戻り値:
- oidとintfを使用して作成されたオブジェクト参照
- 例外:
BAD_PARAM
- POAにSYSTEM_IDポリシーが指定されているときに、システムによってまたはこのPOAに対してオブジェクトID値が生成されなかった場合にスローされる。
-
servant_to_id
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
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
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_POLICYの場合)場合。WrongAdapter
- このPOAインスタンスによってオブジェクト参照が作成されなかった場合。
-
reference_to_id
byte[] reference_to_id(Object reference) throws WrongAdapter, WrongPolicy
この操作は、指定されたオブジェクト参照によってカプセル化されたオブジェクトID値を返します。 その操作が実行されているPOAによってオブジェクト参照が作成された場合にだけ有効です。 そのオブジェクト参照が示すオブジェクトがアクティブになっていなくても、この操作は成功します。- パラメータ:
reference
- オブジェクトIDが返される必要のあるオブジェクト参照。- 戻り値:
- オブジェクト参照にカプセル化されているオブジェクトID。
- 例外:
WrongAdapter
- オブジェクト参照がそこに指定されたPOAによって作成されなかった場合。WrongPolicy
- 今後の機能拡張に備えて宣言されている。
-
id_to_servant
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
Object id_to_reference(byte[] oid) throws ObjectNotActive, WrongPolicy
指定されたオブジェクトIDを持つオブジェクトが現在アクティブになっている場合は、そのオブジェクトを起動するための情報をカプセル化しているオブジェクト参照が返されます。- パラメータ:
oid
- オブジェクト参照が返されるオブジェクトのID。- 戻り値:
- オブジェクト参照
- 例外:
ObjectNotActive
- オブジェクトID値がPOAでアクティブになっていない場合。WrongPolicy
- RETAINポリシーがない場合。
-
id
byte[] id()
POAが作成される過程で、POAの一意のIDを返します。 これは、ポータブル・インタセプタで使用されます。このIDは、そのプロセスにおけるPOAの有効期間に対して一意であることが保証されています。 永続的なPOAの場合、別のPOAと同じ名前で同じパスに作成されたPOAは同一であるため、IDも同じになります。 一時的なPOAの場合、それぞれのPOAが一意になります。
-
-