java.applet

java.awt

java.awt.color

java.awt.datatransfer

java.awt.dnd

java.awt.event

java.awt.font

java.awt.geom

java.awt.im

java.awt.im.spi

java.awt.image

java.awt.image.renderable

java.awt.print

java.beans

java.beans.beancontext

java.io

java.lang

java.lang.annotation

java.lang.instrument

java.lang.management

java.lang.ref

java.lang.reflect

java.math

java.net

java.nio

java.nio.channels

java.nio.channels.spi

java.nio.charset

java.nio.charset.spi

java.rmi

java.rmi.activation

java.rmi.dgc

java.rmi.registry

java.rmi.server

java.security

java.security.acl

java.security.cert

java.security.interfaces

java.security.spec

java.sql

java.text

java.util

java.util.concurrent

java.util.concurrent.atomic

java.util.concurrent.locks

java.util.jar

java.util.logging

java.util.prefs

java.util.regex

java.util.zip

javax.accessibility

javax.activity

javax.crypto

javax.crypto.interfaces

javax.crypto.spec

javax.imageio

javax.imageio.event

javax.imageio.metadata

javax.imageio.plugins.bmp

javax.imageio.plugins.jpeg

javax.imageio.spi

javax.imageio.stream

javax.management

javax.management.loading

javax.management.modelmbean

javax.management.monitor

javax.management.openmbean

javax.management.relation

javax.management.remote

javax.management.remote.rmi

javax.management.timer

javax.naming

javax.naming.directory

javax.naming.event

javax.naming.ldap

javax.naming.spi

javax.net

javax.net.ssl

javax.print

javax.print.attribute

javax.print.attribute.standard

javax.print.event

javax.rmi

javax.rmi.CORBA

javax.rmi.ssl

javax.security.auth

javax.security.auth.callback

javax.security.auth.kerberos

javax.security.auth.login

javax.security.auth.spi

javax.security.auth.x500

javax.security.cert

javax.security.sasl

javax.sound.midi

javax.sound.midi.spi

javax.sound.sampled

javax.sound.sampled.spi

javax.sql

javax.sql.rowset

javax.sql.rowset.serial

javax.sql.rowset.spi

javax.swing

javax.swing.border

javax.swing.colorchooser

javax.swing.event

javax.swing.filechooser

javax.swing.plaf

javax.swing.plaf.basic

javax.swing.plaf.metal

javax.swing.plaf.multi

javax.swing.plaf.synth

javax.swing.table

javax.swing.text

javax.swing.text

javax.swing.text.parser

javax.swing.text.rtf

javax.swing.tree

javax.swing.undo

javax.transaction

javax.transaction.xa

javax.xml

javax.xml.datatype

javax.xml.namespace

javax.xml.parsers

javax.xml.transform

javax.xml.transform.dom

javax.xml.transform.sax

javax.xml.transform.stream

javax.xml.validation

javax.xml.xpath

org.ietf.jgss

org.omg.CORBA

org.omg.CORBA_2_3

org.omg.CORBA_2_3.portable

org.omg.CORBA.DynAnyPackage

org.omg.CORBA.ORBPackage

org.omg.CORBA.portable

org.omg.CORBA.TypeCodePackage

org.omg.CosNaming

org.omg.CosNaming.NamingContextExtPackage

org.omg.CosNaming.NamingContextPackage

org.omg.Dynamic

org.omg.DynamicAny

org.omg.DynamicAny.DynAnyFactoryPackage

org.omg.DynamicAny.DynAnyPackage

org.omg.IOP

org.omg.IOP.CodecFactoryPackage

org.omg.IOP.CodecPackage

org.omg.Messaging

org.omg.PortableInterceptor

org.omg.PortableInterceptor.ORBInitInfoPackage

org.omg.PortableServer

org.omg.PortableServer.CurrentPackage

org.omg.PortableServer.POAManagerPackage

org.omg.PortableServer.POAPackage

org.omg.PortableServer.portable

org.omg.PortableServer.ServantLocatorPackage

org.omg.SendingContext

org.omg.stub.java.rmi

org.w3c.dom

org.w3c.dom.bootstrap

org.w3c.dom.events

org.w3c.dom.ls

org.xml.sax

org.xml.sax.ext

org.xml.sax.helpers

allclasses-frame

allclasses-noframe

constant-values

deprecated-list

help-doc

JavaTM 2 Platform
Standard Ed. 5.0

org.omg.PortableServer
接口 POAOperations

所有已知子接口:
POA

public interface POAOperations

POA 对象管理对象集合的实现。POA 支持由 Object Id 标识的对象的名称空间。POA 也支持 POA 的名称空间。POA 都是作为现有 POA 的子 POA 创建的,这形成了始于根 POA 的分层结构。POA 对象不得输出到其他进程,也不得使用 ORB::object_to_string 具体化。


方法摘要
 void activate_object_with_id(byte[] id, Servant p_servant)
          此操作将指定 Object Id 与指定 servant 之间的关联输入 Active Object Map。
 byte[] activate_object(Servant p_servant)
          此操作生成一个 Object Id,并将该 Object Id 和指定的 servant 输入 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 的子 POA。
 Object create_reference_with_id(byte[] oid, String intf)
          此操作创建一个对象引用,该引用封装指定的 Object Id 和接口存储库 Id 值。
 Object create_reference(String intf)
          此操作创建一个对象引用,该引用封装 POA 生成的 Object 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,则返回该子 POA。
 ServantManager get_servant_manager()
          如果 POA 的 ServantRetentionPolicy 为 RETAIN,则 ServantManager 参数 (imgr) 应该支持 ServantActivator 接口。
 Servant get_servant()
          此操作返回与 POA 关联的默认 servant。
 Object id_to_reference(byte[] oid)
          如果具有指定 Object Id 值的对象当前不是激活状态,则返回一个封装激活该对象时所用信息的引用。
 Servant id_to_servant(byte[] oid)
          如果 POA 具有 RETAIN 策略并且指定的 ObjectId 存在于 Active Object Map 中,则此操作返回与 Active Object Map 中该对象关联的 servant。
 byte[] id()
          此操作在 POA 的创建过程中返回该 POA 的唯一 id。
 byte[] reference_to_id(Object reference)
          此操作返回指定引用封装的 Object Id 值。
 Servant reference_to_servant(Object reference)
          如果 POA 具有 RETAIN 策略并且指定的对象存在于 Active Object Map 中,则此操作返回与 Active Object Map 中该对象关联的 servant。
 byte[] servant_to_id(Servant p_servant)
          此操作有四种可能的行为。
 Object servant_to_reference(Servant p_servant)
          如果在此 POA 指派的操作的上下文外调用此操作,则需要 RETAIN 策略以及 UNIQUE_ID 或 IMPLICIT_ACTIVATION 策略之一。
 void set_servant_manager(ServantManager imgr)
          此操作设置与 POA 关联的默认 servant 管理器。
 void set_servant(Servant p_servant)
          此操作在 POA 中将指定的 servant 注册为默认 servant。
 AdapterActivator the_activator()
          此属性标识与 POA 关联的适配器激活器。
 void the_activator(AdapterActivator newThe_activator)
          此属性标识与 POA 关联的适配器激活器。
 POA[] the_children()
          此属性标识 POA 的所有子 POA 的当前设置。
 String the_name()
          此属性标识相对于其父 POA 的 POA。
 POA the_parent()
          此属性标识 POA 的父 POA。
 POAManager the_POAManager()
          此属性标识与 POA 关联的 POA 管理器。
 

方法详细信息

create_POA

POA create_POA(String adapter_name,
               POAManager a_POAManager,
               Policy[] policies)
               throws AdapterAlreadyExists,
                      InvalidPolicy
此操作创建一个新的 POA 作为目标 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,则返回该子 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 操作的标记。
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。此名称在创建 POA 时分配。


the_parent

POA the_parent()
此属性标识 POA 的父 POA。根 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 关联的默认 servant 管理器。此操作只能在创建了 POA 后调用一次。试图在已经设置了 servant 管理器后再次设置将导致引发 BAD_INV_ORDER 异常。

参数:
imgr - 默认情况下使用的 servant 管理器。
抛出:
WrongPolicy - 未指定 USE_SERVANT_MANAGER 策略时引发。

get_servant

Servant get_servant()
                    throws NoServant,
                           WrongPolicy
此操作返回与 POA 关联的默认 servant。

返回:
p_servant 与 POA 关联的默认 servant。
抛出:
NoServant - 没有与 POA 关联的默认 servant 时引发。
WrongPolicy - 未指定 USE_DEFAULT_SERVANT 策略时引发。

set_servant

void set_servant(Servant p_servant)
                 throws WrongPolicy
此操作在 POA 中将指定的 servant 注册为默认 servant。此 servant 将用于所有在 Active Object Map 中没有对应 servant 的请求。

参数:
p_servant - 默认情况下使用的 servant。
抛出:
WrongPolicy - 未指定 USE_DEFAULT_SERVANT 策略时引发。

activate_object

byte[] activate_object(Servant p_servant)
                       throws ServantAlreadyActive,
                              WrongPolicy
此操作生成一个 Object Id,并将该 Object Id 和指定的 servant 输入 Active Object Map。

参数:
p_servant - 要与将被激活的对象关联的 servant。
返回:
生成对象 id 的 POA。
抛出:
ServantAlreadyActive - 在 POA 具有 UNIQUE_ID 策略且 servant 已经存在于 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
此操作将指定 Object Id 与指定 servant 之间的关联输入 Active Object Map。

参数:
id - 将被激活的对象的对象 id。
p_servant - 将关联对象的 servant。
抛出:
ServantAlreadyActive - 在 POA 具有 UNIQUE_ID 策略且 servant 已经存在于 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 中移除该 ObjectId。

参数:
oid - 将被停用的对象的 Object Id。
抛出:
ObjectNotActive - 如果具有指定 oid 的对象不在 Active Object Map 中。
WrongPolicy - 未指定 RETAIN 策略时引发。

create_reference

Object create_reference(String intf)
                        throws WrongPolicy
此操作创建一个对象引用,该引用封装 POA 生成的 Object Id 值和指定的接口存储库 id。

参数:
intf - 用来创建对象引用的 rep id。
返回:
使用 intf 创建的对象引用。
抛出:
WrongPolicy - 如果未指定 SYSTEM_ID 策略。

create_reference_with_id

Object create_reference_with_id(byte[] oid,
                                String intf)
此操作创建一个对象引用,该引用封装指定的 Object Id 和接口存储库 Id 值。该操作不会导致发生激活。所得引用可以传递给客户端,从而后续对这些引用的请求将导致在必要时可激活对象,或者使用默认的 servant,具体取决于适用的策略。

参数:
oid - 用来创建 objref 的对象 id
intf - 用来创建 objref 的 rep id
返回:
使用 oid 和 intf 创建的对象引用
抛出:
BAD_PARAM - 如果 POA 具有 SYSTEM_ID 策略且它检测到系统或 POA 没有生成 Object Id 值。

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 生成的 Object Id 和与该 servant 关联的 Interface Id 激活 servant,并返回该 Object Id。3. 如果 POA 具有 USE_DEFAULT_SERVANT 策略,指定的 servant 为默认 servant,并将在执行请求的上下文中对默认 servant 调用该操作,则将返回关联当前调用的 ObjectId。4. 其他情况下引发 ServantNotActive 异常。

参数:
p_servant - 为其返回对象 disi 的 servant。
返回:
与 servant 关联的对象 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 策略之一。它具有四种可能的行为。1. 如果 POA 同时具有 RETAIN 和 UNIQUE_ID 策略,且指定的 servant 是激活的,则返回一个封装激活 servant 时所用信息的对象引用。2. 如果 POA 同时具有 RETAIN 和 IMPLICIT_ACTIVATION 策略,并且 POA 具有 MULTIPLE_ID 策略或者指定的 servant 未激活,则使用 POA 生成的 Object Id 和与该 servant 关联的 Interface Id 激活 servant,并返回响应的对象引用。3. 如果该操作在执行请求的上下文中对指定的 servant 调用,则返回关联当前调用的引用。4. 其他情况下引发 ServantNotActive 异常。

参数:
p_servant - 需要为其获取对象引用的 servant。
返回:
与 servant 关联的对象引用。
抛出:
WrongPolicy - 如果操作不是在对指定 servant 执行请求的上下文中调用的,且所需的策略不存在。
ServantNotActive - 如果不满足上述指定策略和规则。

reference_to_servant

Servant reference_to_servant(Object reference)
                             throws ObjectNotActive,
                                    WrongPolicy,
                                    WrongAdapter
如果 POA 具有 RETAIN 策略并且指定的对象存在于 Active Object Map 中,则此操作返回与 Active Object Map 中该对象关联的 servant。如果 POA 具有 USE_DEFAULT_SERVANT 策略并且已经向 POA 注册了默认 servant,则此操作返回该默认 servant。如果此 POA 没有创建对象引用,则引发 WrongAdapter 异常。(与 POA.IDL 不一致的 OMG 问题。)

参数:
reference - 为其返回 servant 的对象引用。
返回:
与引用关联的 servant。
抛出:
WrongPolicy - 如果 RETAIN 策略或 USE_DEFAULT_SERVANT 策略都不存在。
ObjectNotActive - 如果 servant 不存在于 Active Object Map 中(对于 RETAIN)或者没有注册默认 servant(对于 USE_DEFAULT_POLICY)。
WrongAdapter - 如果此 POA 实例没有创建引用。

reference_to_id

byte[] reference_to_id(Object reference)
                       throws WrongAdapter,
                              WrongPolicy
此操作返回指定引用封装的 Object 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 中该对象关联的 servant。如果 POA 具有 USE_DEFAULT_SERVANT 策略并且已经向 POA 注册了默认 servant,则此操作返回该默认 servant。

参数:
oid - 为其返回 servant 的对象 id。
返回:
与 oid 关联的 servant。
抛出:
ObjectNotActive - 如果 ObjectId 不存在于 Active Object Map 中(对于 RETAIN 策略),或者没有注册默认 servant(对于 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 中的 Object Id 值未激活。
WrongPolicy - 如果不存在 RETAIN 策略。

id

byte[] id()
此操作在 POA 的创建过程中返回该 POA 的唯一 id。该值由可移植的 interceptor 使用。

此 id 在 POA 处理过程中的生命周期内保证是唯一的。对于持久 POA,这意味着如果在同一路径使用与另一个 POA 相同的名称创建一个 POA,则这两个 POA 是等同的,也因此具有相同的 id。对于瞬态 POA,每个 POA 均唯一。


JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策