-
- All Known Subinterfaces:
-
POA
public interface POAOperations
POA对象管理对象集合的实现。 POA支持对象标识的对象的名称空间。 POA还为POA提供了名称空间。 POA被创建为现有POA的子代,其形成从根POA开始的层次结构。 POA对象不能导出到其他进程,也可以使用ORB :: object_to_string进行外部化。
-
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 byte[]
activate_object(Servant p_servant)
此操作生成对象标识,并在活动对象映射中输入对象标识和指定的仆人。void
activate_object_with_id(byte[] id, Servant p_servant)
此操作将在“活动对象映射”中输入指定的对象标识和指定服务器之间的关联。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生成的对象标识值和指定的接口存储库标识。Object
create_reference_with_id(byte[] oid, String intf)
此操作创建一个对象引用,该引用封装了指定的对象标识和接口存储库标识值。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关联的默认servant。ServantManager
get_servant_manager()
如果POA的ServantRetentionPolicy是RETAIN,则ServantManager参数(imgr)将支持ServantActivator接口。byte[]
id()
这将在其创建的过程中返回POA的唯一ID。Object
id_to_reference(byte[] oid)
如果具有指定的Object Id值的对象当前处于活动状态,则返回封装用于激活对象的信息的引用。Servant
id_to_servant(byte[] oid)
如果POA具有RETAIN策略,并且指定的ObjectId位于活动对象映射中,则此操作将返回与活动对象映射中该对象关联的servant。byte[]
reference_to_id(Object reference)
此操作返回由指定引用封装的对象Id值。Servant
reference_to_servant(Object reference)
如果POA具有RETAIN策略并且活动对象映射中存在指定的对象,则此操作将返回与活动对象映射中该对象关联的servant。byte[]
servant_to_id(Servant p_servant)
此操作有四种可能的行为。 1。Object
servant_to_reference(Servant p_servant)
此操作需要RETAIN策略,如果在此POA发出的操作的上下文中被调用,则需要UNIQUE_ID或IMPLICIT_ACTIVATION策略。void
set_servant(Servant p_servant)
此操作将指定的仆人作为默认仆人注册POA。void
set_servant_manager(ServantManager imgr)
此操作设置与POA关联的默认servant管理器。AdapterActivator
the_activator()
此属性标识与POA相关联的适配器激活器。void
the_activator(AdapterActivator newThe_activator)
此属性标识与POA相关联的适配器激活器。POA[]
the_children()
此属性标识当前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激活。
- 异常
-
AdapterNonExistent
-
destroy
void destroy(boolean etherealize_objects, boolean wait_for_completion)
此操作会破坏POA和所有后代的POA。 在销毁含有POA之前,所有后代的POA被销毁(递归)。 可能会在相同的过程中重新创建被破坏的POA(也就是其名称的POA)。- 参数
-
etherealize_objects
- 用于指示是否需要调用servant管理器上是否有etherealize_objects
操作的标志。 -
wait_for_completion
- 表示POA及其子女是否需要等待主动请求并且完成wait_for_completion
标志。
-
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的集合。 一组儿童保护协定只包括美国在内的直系儿童,而不是他们的后代。
-
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关联的默认servant管理器。 此操作只能在创建POA后调用一次。 尝试在已设置一个服务器管理器之后,会导致引发BAD_INV_ORDER异常。- 参数
-
imgr
- 用作默认的servant manager。 - 异常
-
WrongPolicy
- 如果未指定USE_SERVANT_MANAGER策略,则引发。
-
get_servant
Servant get_servant() throws NoServant, WrongPolicy
此操作返回与POA关联的默认servant。- 结果
- p_servant与POA关联的默认servant。
- 异常
-
NoServant
- 如果没有默认servant与POA关联,则引发。 -
WrongPolicy
- 如果未指定USE_DEFAULT_SERVANT策略,则引发。
-
set_servant
void set_servant(Servant p_servant) throws WrongPolicy
此操作将指定的仆人作为默认仆人注册POA。 该仆人将用于在活动对象映射中找不到仆人的所有请求。- 参数
-
p_servant
- 用作默认值的servant。 - 异常
-
WrongPolicy
- 如果未指定USE_DEFAULT_SERVANT策略,则引发。
-
activate_object
byte[] activate_object(Servant p_servant) throws ServantAlreadyActive, WrongPolicy
此操作生成对象标识,并在活动对象映射中输入对象标识和指定的仆人。- 参数
-
p_servant
- 要与要激活的对象关联的servant。 - 结果
- POA生成对象id。
- 异常
-
ServantAlreadyActive
- 如果POA具有UNIQUE_ID策略且servant已经在活动对象映射中,则被引发。 -
WrongPolicy
- 如果未指定SYSTEM_ID和RETAIN策略,则引发。
-
activate_object_with_id
void activate_object_with_id(byte[] id, Servant p_servant) throws ServantAlreadyActive, ObjectAlreadyActive, WrongPolicy
此操作将在“活动对象映射”中输入指定的对象标识和指定服务器之间的关联。- 参数
-
id
- 要激活的对象的对象标识。 -
p_servant
- 与对象关联的servant。 - 异常
-
ServantAlreadyActive
- 如果POA具有UNIQUE_ID策略且servant已经在活动对象映射中,则引发。 -
ObjectAlreadyActive
- 如果对象在POA中已经处于活动状态,则引发。 -
WrongPolicy
- 如果未指定RETAIN策略,则引发。
-
deactivate_object
void deactivate_object(byte[] oid) throws ObjectNotActive, WrongPolicy
此操作会导致在oid参数中指定的ObjectId被禁用。 已禁用的ObjectId继续处理请求,直到对该ObjectID没有活动请求为止。 当为该ObjectId执行的所有请求都已完成时,从活动对象映射中删除已停用的ObjectId。- 参数
-
oid
- 要禁用的对象的对象标识。 - 异常
-
ObjectNotActive
- 如果具有指定oid的对象不在活动对象映射中。 -
WrongPolicy
- 如果未指定RETAIN策略,则引发。
-
create_reference
Object create_reference(String intf) throws WrongPolicy
此操作创建一个对象引用,该引用封装了POA生成的对象标识值和指定的接口存储库标识。- 参数
-
intf
- 用于创建对象引用的rep id。 - 结果
- 使用intf创建的对象引用。
- 异常
-
WrongPolicy
- 如果未指定SYSTEM_ID策略。
-
create_reference_with_id
Object create_reference_with_id(byte[] oid, String intf)
此操作创建一个对象引用,该引用封装了指定的对象标识和接口存储库标识值。 它不会导致激活。 生成的引用可以传递给客户端,以便对这些引用的后续请求将导致必要时激活对象,或根据适用的策略使用默认服务器。- 参数
-
oid
- 用于创建对象的对象标识 -
intf
- 创建对象的代码 - 结果
- 使用oid和intf创建的对象引用
- 异常
-
BAD_PARAM
- 如果POA具有SYSTEM_ID策略,并且它检测到对象Id值不是由系统或该POA生成的,则被引发。
-
servant_to_id
byte[] servant_to_id(Servant p_servant) throws ServantNotActive, WrongPolicy
此操作有四种可能的行为。 1.如果POA具有UNIQUE_ID策略并且指定的servant处于活动状态,则返回与该servant相关联的Object Id。 2.如果POA具有IMPLICIT_ACTIVATION策略,并且POA具有MULTIPLE_ID策略或指定的servant不活动,则使用POA生成的对象标识和与仆人关联的接口Id激活仆人,并且该对象标识是回。 3.如果POA具有USE_DEFAULT_SERVANT策略,则指定的servant是默认servant,并且在执行对默认servant的请求的上下文中调用操作,则返回与当前调用关联的ObjectId。 否则,会引发ServantNotActive异常。- 参数
-
p_servant
- 对象disi返回的servant。 - 结果
- 与仆人关联的对象标识。
- 异常
-
ServantNotActive
- 如果不符合上述规则和策略组合。 -
WrongPolicy
- 如果USE_DEFAULT_SERVANT策略或RETAIN策略和UNIQUE_ID或IMPLICIT_ACTIVATION策略的组合不存在。
-
servant_to_reference
Object servant_to_reference(Servant p_servant) throws ServantNotActive, WrongPolicy
此操作需要RETAIN策略,如果在此POA发出的操作的上下文中被调用,则需要UNIQUE_ID或IMPLICIT_ACTIVATION策略。 它有四种可能的行为。 1.如果POA同时具有RETAIN和UNIQUE_ID策略,并且指定的servant处于活动状态,则返回封装用于激活servant的信息的对象引用。 2.如果POA同时具有RETAIN和IMPLICIT_ACTIVATION策略,并且POA具有MULTIPLE_ID策略或指定的servant不活动,则使用POA生成的对象Id和与仆人相关联的Interface Id来激活仆人,以及将返回相应的对象引用。 3.如果在对指定服务方执行请求的上下文中调用操作,则返回与当前调用相关联的引用。 否则,会引发ServantNotActive异常。- 参数
-
p_servant
- 需要获取对象引用的servant。 - 结果
- 与仆人关联的对象引用。
- 异常
-
WrongPolicy
- 如果在执行对指定服务方的请求的上下文中未调用操作,并且不存在所需的策略。 -
ServantNotActive
- 如果ServantNotActive
上述指定的策略和规则。
-
reference_to_servant
Servant reference_to_servant(Object reference) throws ObjectNotActive, WrongPolicy, WrongAdapter
如果POA具有RETAIN策略并且活动对象映射中存在指定的对象,则此操作将返回与活动对象映射中该对象关联的servant。 否则,如果POA具有USE_DEFAULT_SERVANT策略并且已将默认服务器注册到POA,则此操作将返回默认服务方。 如果此POA未创建对象引用,则会引发WrongAdapter异常。 (OMG问题与POA.IDL不一致。- 参数
-
reference
- 返回仆人的对象引用。 - 结果
- 与参考有关的仆人。
- 异常
-
WrongPolicy
- 如果不存在RETAIN策略或USE_DEFAULT_SERVANT策略。 -
ObjectNotActive
- 如果活动对象映射(对于RETAIN)中不存在servant或没有注册默认servant(对于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位于活动对象映射中,则此操作将返回与活动对象映射中该对象关联的servant。 否则,如果POA具有USE_DEFAULT_SERVANT策略并且已将默认服务器注册到POA,则此操作将返回默认服务方。- 参数
-
oid
- 返回仆人的对象标识。 - 结果
- 与oid相关的仆人
- 异常
-
ObjectNotActive
- 如果ObjectId不在活动对象映射中(对于RETAIN策略),或者没有注册默认服务器(对于USE_DEFAULT_SERVANT策略),则生成。 -
WrongPolicy
- 如果不存在RETAIN策略或USE_DEFAULT_SERVANT策略,则会被引发。
-
id_to_reference
Object id_to_reference(byte[] oid) throws ObjectNotActive, WrongPolicy
如果具有指定的Object Id值的对象当前处于活动状态,则返回封装用于激活对象的信息的引用。- 参数
-
oid
- 返回引用的对象的id。 - 结果
- 对象引用
- 异常
-
ObjectNotActive
- 如果对象标识值在POA中未激活。 -
WrongPolicy
- 如果不存在RETAIN策略。
-
id
byte[] id()
这将在其创建的过程中返回POA的唯一ID。 它由便携式拦截器使用。该ID在过程中保持POA的寿命独特。 对于持久的POA,这意味着如果在与另一个POA具有相同名称的同一路径中创建POA,则这些POA是相同的,因此具有相同的id。 对于暂时的POA,每个POA是唯一的。
-
-