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