JavaTM Platform
Standard Ed. 6

org.omg.PortableServer
类 Servant

java.lang.Object
  继承者 org.omg.PortableServer.Servant
直接已知子类:
BindingIteratorPOA, DynamicImplementation, NamingContextExtPOA, NamingContextPOA, ServantActivatorPOA, ServantLocatorPOA

public abstract class Servant
     
extends Object

定义本机 Servant 类型。在 Java 中,Servant 类型被映射到 Java org.omg.PortableServer.Servant 类。它充当所有 POA servant 实现的基类,提供许多可由应用程序员调用的方法,以及可由 POA 本身调用(也可由用户重写)以控制 servant 行为各方面的方法。基于 IDL to Java 规范。(CORBA V2.3.1) ptc/00-01-08.pdf。


构造方法摘要
Servant()
           
 
方法摘要
abstract  String[] _all_interfaces(POA poa, byte[] objectId)
          ORB 使用此操作从 servant 获取完整的类型信息。
 POA _default_POA()
          从与 servant 关联的 ORB 实例返回根 POA。
 Delegate _get_delegate()
          获取 PortableServer::Servant 特定于供应商的 ORB 实现。
 Object _get_interface_def()
          以 CORBA::Object 的形式返回 InterfaceDef 对象,该对象定义由 Servant 实现的 CORBA::Object 的运行时类型。
 boolean _is_a(String repository_id)
          查看指定的 repository_id 是否存在于 _all_interfaces() 返回的列表,或者其是否是一般 CORBA 对象的 repository_id
 boolean _non_existent()
          检查 Object 是否存在。
 byte[] _object_id()
          允许便捷地执行公共方法,等效于调用 PortableServer::Current::get_object_id
 ORB _orb()
          返回当前与 Servant 关联的 ORB 实例(便捷方法)。
 POA _poa()
          允许便捷地执行共用方法,等效于 PortableServer::Current:get_POA
 void _set_delegate(Delegate delegate)
          此操作支持 Java ORB 可移植性接口,它向通过代理支持 ORB 可移植性的类提供一个设置其委托的方法。
 Object _this_object()
          允许 servant 获取为请求实现的目标 CORBA 对象的对象引用。
 Object _this_object(ORB orb)
          允许 servant 获取为请求实现的目标 CORBA 对象的对象引用。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

Servant

public Servant()
方法详细信息

_get_delegate

public final Delegate _get_delegate()
获取 PortableServer::Servant 特定于供应商的 ORB 实现。

返回:
_delegatePortableServer::Servant 特定于供应商的 ORB 实现

_set_delegate

public final void _set_delegate(Delegate delegate)
此操作支持 Java ORB 可移植性接口,它向通过代理支持 ORB 可移植性的类提供一个设置其委托的方法。

参数:
delegate - PortableServer::Servant 特定于供应商的 ORB 实现。

_this_object

public final Object _this_object()
允许 servant 获取为请求实现的目标 CORBA 对象的对象引用。

返回:
关联请求的 this_object Object 引用。

_this_object

public final Object _this_object(ORB orb)
允许 servant 获取为请求实现的目标 CORBA 对象的对象引用。

参数:
orb - 与 servant 关联的 ORB。
返回:
与请求关联的 _this_object 引用。

_orb

public final ORB _orb()
返回当前与 Servant 关联的 ORB 实例(便捷方法)。

返回:
当前与 Servant 关联的 ORB 实例 orb

_poa

public final POA _poa()
允许便捷地执行共用方法,等效于 PortableServer::Current:get_POA

返回:
与 servant 关联的 POA poa

_object_id

public final byte[] _object_id()
允许便捷地执行公共方法,等效于调用 PortableServer::Current::get_object_id

返回:
与此 servant 关联的 Object ID object_id

_default_POA

public POA _default_POA()
从与 servant 关联的 ORB 实例返回根 POA。子类可重写此方法来返回不同的 POA。

返回:
Servant 关联的 POA default_POA

_is_a

public boolean _is_a(String repository_id)
查看指定的 repository_id 是否存在于 _all_interfaces() 返回的列表,或者其是否是一般 CORBA 对象的 repository_id

参数:
repository_id - 要在存储库列表中检查(或根据通用 CORBA 对象的 id 检查)的 repository_id
返回:
is_a boolean 值,指示指定的 repository_id 是否在存储列表中或者其是否与 CORBA 对象的相同。

_non_existent

public boolean _non_existent()
检查 Object 是否存在。 Servant 提供 _non_existent() 的默认实现,该实现可通过派生的 servant 重写。

返回:
如果该对象不存在,则返回 true;否则返回 false

_get_interface_def

public Object _get_interface_def()
CORBA::Object 的形式返回 InterfaceDef 对象,该对象定义由 Servant 实现的 CORBA::Object 的运行时类型。 _get_interface_def 的调用者必须缩小 InterfaceDef 的结果以便使用。

如果默认行为无法满足要求,则可以通过派生的 servant 重写此 _get_interface_def() 默认实现。根据 CORBA 2.3.1 规范第 11.3.1 小节中的定义,_get_interface_def() 的默认行为是使用静态 servant 的最终派生接口或者从动态 servant 中得到的最终派生接口来获取 InterfaceDef。实现 ServantDelegate 必须支持此行为。

返回:
get_interface_defCORBA::Object 形式的 InterfaceDef 对象),它定义由 Servant 实现的 CORBA::Object 的运行时类型。

_all_interfaces

public abstract String[] _all_interfaces(POA poa,
                                         byte[] objectId)
ORB 使用此操作从 servant 获取完整的类型信息。

参数:
poa - 与 servant 关联的 POA。
objectId - 对应于与此 servant 关联的对象的 id。
返回:
对象类型信息列表。

JavaTM Platform
Standard Ed. 6

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

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