|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectorg.omg.CORBA.portable.ObjectImpl
public abstract class ObjectImpl
所有 stub 类的公共基类;提供 org.omg.CORBA.Object 方法的默认实现。所有方法实现都被委托到 ObjectImpl 实例中存储的 Delegate 对象。ObjectImpl 允许可移植的 stub,因为 Delegate 可以由特定于不同供应商的 ORB 实现。
| 构造方法摘要 | |
|---|---|
ObjectImpl() |
|
| 方法摘要 | |
|---|---|
Request |
_create_request(Context ctx, String operation, NVList arg_list, NamedValue result) 创建一个 Request 对象,使其包含给定上下文、方法、参数列表,以及用于结果的容器。 |
Request |
_create_request(Context ctx, String operation, NVList arg_list, NamedValue result, ExceptionList exceptions, ContextList contexts) 创建一个 Request 对象,使其包含给定的上下文、方法、参数列表、结果容器、异常,以及解析上下文字符串时将使用的属性名列表。 |
Object |
_duplicate() 返回此 ObjectImpl 对象的一个副本。 |
Delegate |
_get_delegate() 获得对特定于供应商的 Delegate 对象的引用,此 ObjectImpl 对象将对其调用的所有方法委托给该对象。 |
DomainManager[] |
_get_domain_managers() 获得此 ObjectImpl 对象的域管理程序所组成的列表。 |
Object |
_get_interface_def() 获得此 ObjectImpl 对象的接口定义。 |
Policy |
_get_policy(int policy_type) 获得此 ObjectImpl 对象具有给定策略类型的 Policy 对象。 |
int |
_hash(int maximum) 获得充当此 ObjectImpl 对象内部 ORB 标识符的哈希码。 |
abstract String[] |
_ids() 获得包含此 ObjectImpl 对象所支持的存储库标识符的字符串数组。 |
InputStream |
_invoke(OutputStream output) 调用某个操作并返回用来读取响应的 InputStream 对象。 |
boolean |
_is_a(String repository_id) 检查给定存储库标识符标识的对象是否是 ObjectImpl 对象。 |
boolean |
_is_equivalent(Object that) 检查给定的 ObjectImpl 对象是否等于此 ObjectImpl 对象。 |
boolean |
_is_local() 检查此 ObjectImpl 对象是否是由本地 servant 实现的。 |
boolean |
_non_existent() 检查此 ObjectImpl 对象的 server 对象是否已经被销毁。 |
ORB |
_orb() 返回对与此对象及其委托相关的 ORB 的引用。 |
void |
_release() 释放与此 ObjectImpl 对象关联的资源。 |
void |
_releaseReply(InputStream input) 调用 _invoke 方法并且解组完成后,将给定的应答流释放回 ORB。 |
Request |
_request(String operation) 创建一个 Request 对象,使其包含可用于动态调用接口 (Dynamic Invocation Interface) 的给定方法。 |
OutputStream |
_request(String operation, boolean responseExpected) 返回一个 OutputStream 对象,该对象用于编组给定方法的参数。 |
void |
_servant_postinvoke(ServantObject servant) 本地 stub 在发起了对本地 servant(通过对 _servant_preinvoke 方法的调用得到)的一次操作后,再调用此方法。 |
ServantObject |
_servant_preinvoke(String operation, Class expectedType) 返回对本地 servant 的 Java 引用,该引用应该被用来发送对指定方法的请求。 |
void |
_set_delegate(Delegate delegate) 将此 ObjectImpl 实例的 Delegate 设置为给定的 Delegate 对象。 |
Object |
_set_policy_override(Policy[] policies, SetOverrideType set_add) 将此 ObjectImpl 对象给定策略的重写类型设置为给定的 SetOverrideType 实例。 |
boolean |
equals(Object obj) 比较此 ObjectImpl 对象与给定对象是否相等。 |
int |
hashCode() 返回此 ObjectImpl 对象的哈希码。 |
String |
toString() 返回表示此 ObjectImpl 对象的 String 对象。 |
| 从类 java.lang.Object 继承的方法 |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| 构造方法详细信息 |
|---|
public ObjectImpl()
| 方法详细信息 |
|---|
public Delegate _get_delegate()
Delegate 对象的引用,此
ObjectImpl 对象将对其调用的所有方法委托给该对象。
BAD_OPERATION - 如果尚未设置委托
_set_delegate(org.omg.CORBA.portable.Delegate)
public void _set_delegate(Delegate delegate)
ObjectImpl 实例的 Delegate 设置为给定的
Delegate 对象。对此
ObjectImpl 对象调用的所有方法将被委托到此 Delegate。
delegate -
Delegate 实例,对此
ObjectImpl 对象调用的所有方法都将被委托到该实例;可以由第三方 ORB 实现
_get_delegate()
public abstract String[] _ids()
ObjectImpl 对象所支持的存储库标识符的字符串数组。例如,对于 sub,此方法返回所有关于该 stub 所支持的接口的信息。
ObjectImpl 实例支持的所有存储库标识符所组成的数组
public Object _duplicate()
ObjectImpl 对象的一个副本。
Object 中的
_duplicate
orb.omg.CORBA.Object 对象。
public void _release()
ObjectImpl 对象关联的资源。
Object 中的
_release
public boolean _is_a(String repository_id)
ObjectImpl 对象。
Object 中的
_is_a
repository_id - 带有要检查的存储库标识符的
String 对象
ObjectImpl 的实例,则返回
true;否则返回
false
public boolean _is_equivalent(Object that)
ObjectImpl 对象是否等于此
ObjectImpl 对象。
Object 中的
_is_equivalent
that - 要与此
ObjectImpl 对象比较的
ObjectImpl 实例
ObjectImpl 对象,则返回
true;否则返回
false
public boolean _non_existent()
ObjectImpl 对象的 server 对象是否已经被销毁。
Object 中的
_non_existent
true;否则返回
false
public int _hash(int maximum)
ObjectImpl 对象内部 ORB 标识符的哈希码。
Object 中的
_hash
maximum - 一个
int,指示 ORB 返回的哈希码值上限
ObjectImpl 对象哈希码的
int
public Request _request(String operation)
Request 对象,使其包含可用于动态调用接口 (Dynamic Invocation Interface) 的给定方法。
Object 中的
_request
operation - 将由新
Request 对象调用的方法
Request 对象
public Request _create_request(Context ctx,
String operation,
NVList arg_list,
NamedValue result)
Request 对象,使其包含给定上下文、方法、参数列表,以及用于结果的容器。
Object 中的
_create_request
ctx - 请求的 Context
operation - 新
Request 对象将调用的方法
arg_list - 方法的参数;一个
NVList,其中每个参数都是
NamedValue 对象
result - 一个
NamedValue 对象,用于返回执行请求的方法后所得的结果
Request 对象,使用给定的上下文、方法、参数列表,以及返回值的容器初始化。
Request,
NVList,
NamedValue
public Request _create_request(Context ctx,
String operation,
NVList arg_list,
NamedValue result,
ExceptionList exceptions,
ContextList contexts)
Request 对象,使其包含给定的上下文、方法、参数列表、结果容器、异常,以及解析上下文字符串时将使用的属性名列表。此
Request 对象用于动态调用接口。
Object 中的
_create_request
ctx - 含有上下文字符串的
Context 对象,所包含的字符串必须在随同请求一起被发送前进行解析
operation - 新
Request 对象将调用的方法
arg_list - 方法的参数;一个
NVList,其中每个参数都是
NamedValue 对象
result - 一个
NamedValue 对象,用来返回执行请求的方法所得的结果
exceptions - 给定方法抛出的异常所组成的列表
contexts - 在解析
ctx 中上下文时所需要的属性列表;
contexts 中的字符串被用作
Context.get_values 方法的参数,该方法返回与给定属性关联的值
Request 对象,使用给定的要解析上下文字符串、方法、参数列表、结果容器、异常,以及解析上下文字符串时将使用的属性名列表进行初始化
Request,
NVList,
NamedValue,
ExceptionList,
ContextList
public Object _get_interface_def()
ObjectImpl 对象的接口定义。
Object 中的
_get_interface_def
org.omg.CORBA.Object 实例,它是此
ObjectImpl 对象的接口定义
public ORB _orb()
ORB 对象。
ORB 实例,它创建了包含在此
ObjectImpl 对象中的
Delegate 对象
public Policy _get_policy(int policy_type)
ObjectImpl 对象具有给定策略类型的
Policy 对象。
Object 中的
_get_policy
policy_type - 指示策略类型的 int
ObjectImpl 对象并具有指定策略类型的
Policy 对象
PolicyOperations.policy_type()
public DomainManager[] _get_domain_managers()
ObjectImpl 对象的域管理程序所组成的列表。
Object 中的
_get_domain_managers
ObjectImpl 实例的
DomainManager 对象
public Object _set_policy_override(Policy[] policies,
SetOverrideType set_add)
ObjectImpl 对象给定策略的重写类型设置为给定的
SetOverrideType 实例。
Object 中的
_set_policy_override
policies - 一个
Policy 对象数组,具有取代当前策略或被添加到当前策略的策略
set_add - 可能为
SetOverrideType.SET_OVERRIDE,指示给定策略将取代任何现存策略;也可能为
SetOverrideType.ADD_OVERRIDE,指示给定策略将被添加到任何现有策略
Object,给定策略取代或被添加到该对象以前的策略
public boolean _is_local()
ObjectImpl 对象是否是由本地 servant 实现的。如果是,则可以使用本地调用 API 的 ObjectImpl 对象。
true;否则返回
false。
public ServantObject _servant_preinvoke(String operation,
Class expectedType)
ObjectImpl 对象是本地 stub,则在发送请求前它将调用
_servant_preinvoke 方法,以获取要使用的
ServantObject 实例。
如果返回 ServantObject 对象,则其 servant 字段已经被设置为所期望类型的对象(注意:该对象可以是也可以不是实际的 servant 实例)。本地 stub 可以将 servant 字段强制转换为所需类型,然后直接调用操作。ServantRequest 对象只对一次调用有效,不能用于多次调用。
operation - 一个包含要调用的方法名称的
String。此名称应该对应于将被编码入 GIOP 请求的方法名称。
expectedType - 一个
Class 对象,表示返回的 servant 的预期类型。此预期类型是与 stub 接口的操作类有关的
Class 对象。例如,接口
Foo 的 stub 将传递用于
FooOperations 接口的
Class 对象。
ServantObject 对象,可能是也可能不是实际 servant 实例,或者返回 (2)
null,如果 (a) servant 不是本地的或 (b)由于 POA ServantManager 发出 ForwardRequest 使 servant 不再是本地的
BAD_PARAM - 如果 servant 不是预期类型
public void _servant_postinvoke(ServantObject servant)
_servant_preinvoke 方法的调用得到)的一次操作后,再调用此方法。如果
_servant_preinvoke 方法返回非 null 值,则必须调用
_servant_postinvoke 方法,即使 servant 调用的方法抛出异常。因此,对
_servant_postinvoke 方法的调用应该置于 Java
finally 子句中。
servant -
_servant_preinvoke 方法返回的
ServantObject 实例
public OutputStream _request(String operation,
boolean responseExpected)
OutputStream 对象,该对象用于编组给定方法的参数。此方法由 stub 调用,必须指示是否希望响应,即调用是否是单向的。
operation - 给出方法名称的 String。
responseExpected - 一个 boolean 值,如果请求不是单向的(即希望获得响应),则该参数为
true
OutputStream 对象
public InputStream _invoke(OutputStream output)
throws ApplicationException,
RemarshalException
InputStream 对象。stub 提供以前调用
_request 方法所返回的
OutputStream 对象。以前调用时被指定为
_request 参数的方法就是此方法要调用的方法。
如果发生异常,则 _invoke 方法将抛出 ApplicationException 对象,该对象包含一个 InputStream,可从中解组用户异常状态。
output - 用来分派请求的 OutputStream 对象
InputStream 对象,包含已调用方法的编组响应
ApplicationException - 如果该调用遇到应用程序定义的异常
RemarshalException - 如果该调用导致重新编组错误
_request(java.lang.String)
public void _releaseReply(InputStream input)
_invoke 方法并且解组完成后,将给定的应答流释放回 ORB。对于 stub,调用此方法是可选的。
input -
_invoke 方法或
ApplicationException.getInputStream 方法返回的
InputStream 对象;可以为
null,在这种情况下此方法不执行任何操作
_invoke(org.omg.CORBA.portable.OutputStream)
public String toString()
ObjectImpl 对象的
String 对象。
Object 中的
toString
String 表示形式
public int hashCode()
ObjectImpl 对象的哈希码。
Object 中的
hashCode
Object.equals(java.lang.Object),
Hashtable
public boolean equals(Object obj)
ObjectImpl 对象与给定对象是否相等。
Object 中的
equals
obj - 要与此对象进行比较的对象
true;否则返回
false
Object.hashCode(),
Hashtable
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。