Module  java.corba

Interface POAOperations

  • All Known Subinterfaces:
    POA


    public interface POAOperations
    POA对象管理对象集合的实现。 POA支持对象标识的对象的名称空间。 POA还为POA提供了名称空间。 POA被创建为现有POA的子代,其形成从根POA开始的层次结构。 POA对象不能导出到其他进程,也可以使用ORB :: object_to_string进行外部化。
    • 方法详细信息

      • 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是唯一的。