java.lang.Object org.omg.CORBA.portable.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()
public boolean _is_a(String repository_id)
ObjectImpl
对象。
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 标识符的哈希码。
maximum
- 一个
int
,指示 ORB 返回的哈希码值上限
ObjectImpl
对象哈希码的
int
public Request _request(String operation)
Request
对象,使其包含可用于动态调用接口 (Dynamic Invocation Interface) 的给定方法。
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()
public int hashCode()
ObjectImpl
对象的哈希码。
Object.equals(java.lang.Object)
,
Hashtable
public boolean equals(Object obj)
ObjectImpl
对象与给定对象是否相等。
obj
- 要与此对象进行比较的对象
true
;否则返回
false
Object.hashCode()
,
Hashtable