public abstract class ObjectImpl extends Object implements Object
org.omg.CORBA.Object方法的默认实现。
所有方法实现被转发到Delegate存储在对象ObjectImpl实例。
ObjectImpl允许便携式存根,因为Delegate可以由不同的供应商特定的ORB来实现。
| Constructor and Description |
|---|
ObjectImpl() |
| Modifier and Type | Method and Description |
|---|---|
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对象的
ObjectImpl 。
|
Delegate |
_get_delegate()
检索参考特定于供应商的
Delegate到该对象
ObjectImpl对象代表在其上调用的所有方法。
|
DomainManager[] |
_get_domain_managers()
获取此
ObjectImpl对象的域管理器列表。
|
Object |
_get_interface_def()
检索此
ObjectImpl对象的
ObjectImpl定义。
|
Policy |
_get_policy(int policy_type)
检索
Policy此对象
ObjectImpl具有给定策略类型的对象。
|
int |
_hash(int maximum)
检索用作此
ObjectImpl对象的ORB内部标识符的哈希码。
|
abstract String[] |
_ids()
检索包含此
ObjectImpl对象支持的存储库标识符的字符串数组。
|
InputStream |
_invoke(OutputStream output)
调用一个操作并返回一个
InputStream对象来读取响应。
|
boolean |
_is_a(String repository_id)
检查由给定的存储库
ObjectImpl对象是否为
ObjectImpl对象。
|
boolean |
_is_equivalent(Object that)
检查给定的
ObjectImpl对象是否相当于此
ObjectImpl对象。
|
boolean |
_is_local()
检查此
ObjectImpl对象是否由本地服务器实现。
|
boolean |
_non_existent()
检查此
ObjectImpl对象的服务器对象是否已被销毁。
|
ORB |
_orb()
返回与该对象及其委托关联的ORB的引用。
|
void |
_release()
释放与此
ObjectImpl对象相关联的资源。
|
void |
_releaseReply(InputStream input)
在调用方法
_invoke之后解组已完成时,将给定的回复流释放回ORB。
|
Request |
_request(String operation)
创建一个
Request可以与动态调用接口一起使用的给定方法的
Request对象。
|
OutputStream |
_request(String operation, boolean responseExpected)
返回一个用于编组给定方法的参数的
OutputStream对象。
|
void |
_servant_postinvoke(ServantObject servant)
在本地存根调用了先前从方法
_servant_preinvoke调用中检索到的本地仆人的操作之后,本地存根调用。
|
ServantObject |
_servant_preinvoke(String operation, 类 expectedType)
返回对本地servant的Java引用,该引用应用于发送请求方法。
|
void |
_set_delegate(Delegate delegate)
将此
ObjectImpl实例的代理设置为给定的
Delegate对象。
|
Object |
_set_policy_override(Policy[] policies, SetOverrideType set_add)
将给定策略的
ObjectImpl对象的覆盖类型设置为给定的实例
SetOverrideType 。
|
boolean |
equals(Object obj)
将此
ObjectImpl对象与给定的对象进行比较以获得相等性。
|
int |
hashCode()
返回此
ObjectImpl对象的哈希码。
|
String |
toString()
返回
String对象,它表示此
ObjectImpl对象。
|
public Delegate _get_delegate()
ObjectImpl对象委托给它的所有方法的供应商特定的
Delegate对象的引用。
BAD_OPERATION - 如果代理尚未设置
_set_delegate(org.omg.CORBA.portable.Delegate)
public void _set_delegate(Delegate delegate)
ObjectImpl实例的代理设置为给定的Delegate对象。
此ObjectImpl对象上的所有方法调用将转发给此委托。
delegate - Delegate ObjectImpl对象的所有方法调用的Delegate实例;
可能由第三方ORB实施
_get_delegate()
public abstract String[] _ids()
ObjectImpl对象支持的存储库标识符的字符串数组。
例如,对于stub,此方法返回有关stub支持的所有接口的信息。
ObjectImpl实例支持的所有存储库标识符阵列
public Object _duplicate()
ObjectImpl对象的
ObjectImpl 。
_duplicate在接口
Object
orb.omg.CORBA.Object对象,这是该对象的副本
public boolean _is_a(String repository_id)
ObjectImpl对象是否为
ObjectImpl对象。
public boolean _is_equivalent(Object that)
ObjectImpl对象是否相当于此
ObjectImpl对象。
_is_equivalent在接口
Object
that -实例
ObjectImpl与此相比
ObjectImpl对象
true如果给定的对象相当于这个ObjectImpl对象;
false否则
public boolean _non_existent()
ObjectImpl对象的服务器对象是否已被销毁。
_non_existent在界面
Object
true如果ORB权威地知道服务器对象不存在;
false否则
public int _hash(int maximum)
ObjectImpl对象的ORB内部标识符的哈希码。
public Request _create_request(Context ctx, String operation, NVList arg_list, NamedValue result)
Request对象。
_create_request在接口
Object
ctx - 请求的上下文
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对象用于动态调用接口。
_create_request在界面
Object
ctx -
Context对象,其中包含在与请求一起发送之前必须解析的上下文字符串
operation - 新的
Request对象将调用的方法
arg_list - 方法的参数;
一个NVList其中每个参数是一个NamedValue对象
result -一个
NamedValue对象要用于返回执行请求的方法的结果
exceptions - 给定方法抛出的异常的列表
contexts - 解析ctx中上下文所需的属性列表;
上下文中的字符串用作方法Context.get_values ,该方法返回与给定属性相关联的值
Request对象使用给定的上下文字符串进行初始化,以解析,方法,参数列表,结果容器,异常以及用于解析上下文字符串的属性名称列表
Request , NVList , NamedValue , ExceptionList , ContextList
public Object _get_interface_def()
ObjectImpl对象的
ObjectImpl定义。
_get_interface_def在接口
Object
org.omg.CORBA.Object实例是
ObjectImpl对象的
ObjectImpl定义
public ORB _orb()
ORB对象。
ORB创建实例
Delegate包含在此对象
ObjectImpl对象
public Policy _get_policy(int policy_type)
Policy对象的
ObjectImpl对象。
_get_policy在界面
Object
policy_type - 指示策略类型的int
Policy对象是指定的策略类型,适用于此
ObjectImpl对象
PolicyOperations.policy_type()
public DomainManager[] _get_domain_managers()
ObjectImpl对象的域管理器列表。
_get_domain_managers在界面
Object
DomainManager对象进行的此实例
ObjectImpl
public Object _set_policy_override(Policy[] policies, SetOverrideType set_add)
ObjectImpl对象的覆盖类型设置为给定的
SetOverrideType实例。
_set_policy_override在接口
Object
policies - 一个
Policy对象的数组,其中将替换当前策略或添加到当前策略的策略
set_add -
SetOverrideType.SET_OVERRIDE ,表示给定的政策将取代任何现有的政策,或
SetOverrideType.ADD_OVERRIDE ,表示给定的政策应该添加到任何现有的
Object ,其中给定的策略替换或添加到其以前的策略
public boolean _is_local()
ObjectImpl对象是否由本地仆人实现。
如果是这样,可以使用本地调用API。
true如果此对象由本地服务器实现;
false否则
public ServantObject _servant_preinvoke(String operation, 类 expectedType)
ObjectImpl对象是本地存根,它将在发送请求之前调用_servant_preinvoke方法,以获取要使用的ServantObject实例。
如果返回ServantObject对象,则其servant字段已设置为预期类型的对象(注意:对象可能是也可能不是实际的servant实例)。 本地存根可能会将servant字段转换为预期类型,然后直接调用该操作。 ServantRequest对象仅对一个调用有效,不能用于多个调用。
operation - 一个String其中包含要调用的方法的名称。
该名称应与GIOP请求中编码的方法名称相对应。
expectedType - 一个类对象,表示返回的servant的预期类型。
此预期类型是与类接口的操作类相关联的Class对象。
例如,对于一个接口存根Foo会通过类为对象FooOperations接口。
ServantObject对象,其可能是或可能不是实际的服务实例,或(2)
null如果(a)仆人不是本地的,或(b)仆人因POA的ForwardRequest不再是本地的ServantManager
BAD_PARAM - 如果仆人不是期望的类型
public void _servant_postinvoke(ServantObject servant)
_servant_preinvoke的调用之前检索的本地仆人的操作时,本地存根调用。
该_servant_postinvoke必须调用方法,如果_servant_preinvoke方法返回一个非空值,即使一个异常被由仆人调用的方法抛出。
因此,对方法_servant_postinvoke的调用应放在Java finally子句中。
servant -的实例
ServantObject通过返回
_servant_preinvoke方法
public OutputStream _request(String operation, boolean responseExpected)
OutputStream对象。
该方法由一个存根调用,它必须指示是否有预期的响应,即该调用是否是单向的。
operation - 一个给出方法名称的String。
responseExpected - 一个布尔值 -
true如果请求不是一种方式,那就是预期的响应
OutputStream对象
public InputStream _invoke(OutputStream output) throws ApplicationException, RemarshalException
InputStream对象来读取响应。
存根提供OutputStream通过调用_request方法返回的OutputStream对象。
在以前调用时指定为_request的参数的方法是此方法调用的方法。
如果发生异常, _invoke方法可能会抛出一个ApplicationException对象,该对象包含一个InputStream,用户异常状态可以从该StreamStream取消组合。
output - 用于调度请求的OutputStream对象
InputStream对象,包含调用方法的编组响应
ApplicationException - 如果调用符合应用程序定义的异常
RemarshalException - 如果调用导致重新安排错误
_request(java.lang.String)
public void _releaseReply(InputStream input)
_invoke后解组已完成时,将给定的回复流释放回ORB。
调用此方法对于存根是可选的。
input - _invoke方法或ApplicationException.getInputStream方法返回的InputStream对象;
可能是null ,在这种情况下这种方法什么都不做
_invoke(org.omg.CORBA.portable.OutputStream)
public String toString()
String对象,它表示此
ObjectImpl对象。
public int hashCode()
ObjectImpl对象的哈希码。
hashCode在
Object
Object.equals(java.lang.Object) ,
System.identityHashCode(java.lang.Object)
public boolean equals(Object obj)
ObjectImpl对象与给定的对象进行比较以获得相等性。
equals在
Object
obj - 用于比较此对象的对象
true如果两个对象相等;
false否则
Object.hashCode() , HashMap
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.