public interface Object
CORBA 对象引用的定义。
CORBA 对象引用是服务器实现的特定 CORBA 对象的句柄。每次使用 CORBA 对象引用对对象调用方法时,该对象引用都标识同一 CORBA 对象。CORBA 对象可以有多个不同的对象引用。
org.omg.CORBA.Object
接口是 Java 编程语言中所有 CORBA 对象引用继承层次结构的根,类似于用于 RMI 远程对象的 java.rmi.Remote
。
CORBA 对象可以是本地的,也可以是远程的。如果该对象是一个本地对象(即与客户端运行在同一 VM 中),则可以直接在该对象实例上进行调用,对象引用可以指向实际的对象实现类实例。如果 CORBA 对象是一个远程对象(即与客户端运行在不同的 VM 中),则对象引用指向某一 stub(代理),该 stub 使用 ORB 机制在对象实现驻留的服务器上进行远程调用。
org.omg.CORBA.portable.ObjectImpl
类中提供接口 org.omg.CORBA.Object
中方法的默认实现,该类是 stub 和对象实现的基类。
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 exclist, ContextList ctxlist) 创建一个 Request 实例,并使用给定上下文、方法名称、参数列表、用于该方法返回值的容器、可能的异常列表以及需要被解析的上下文字符串所组成的列表进行初始化。 |
Object |
_duplicate() 返回此 CORBA 对象引用的副本。 |
DomainManager[] |
_get_domain_managers() 检索此对象的 DomainManager 。 |
Object |
_get_interface_def() 获取此对象引用所引用的对象实现的 InterfaceDef 。 |
Policy |
_get_policy(int policy_type) 返回应用于此对象的指定类型的 Policy 对象。 |
int |
_hash(int maximum) 返回此对象引用的 ORB 内部标识符。 |
boolean |
_is_a(String repositoryIdentifier) 检查此对象是否是实现给定接口的类的实例。 |
boolean |
_is_equivalent(Object other) 在 ORB 确定时所需开销不大的范围内确定两个对象引用是否相等。 |
boolean |
_non_existent() 确定此对象引用的 server 对象是否已经被销毁。 |
void |
_release() 发出信号,指示此对象引用调用者已经使用完毕,因而可以释放与此对象引用关联的内部 ORB 资源。 |
Request |
_request(String operation) 创建一个在动态调用接口 (Dynamic Invocation Interface) 中使用的 Request 实例。 |
Object |
_set_policy_override(Policy[] policies, SetOverrideType set_add) 返回一个新的 Object ,使用给定策略替换此 Object 中的所有现有策略,或者根据给定 SetOverrideType 对象的值将给定策略添加到现有策略。 |
方法详细信息 |
---|
boolean _is_a(String repositoryIdentifier)
repositoryIdentifier
- 要检查的接口
true
;否则返回
false
boolean _is_equivalent(Object other)
other
- 用来检查相等性的另一个对象引用
true
。注意,
false
仅指示两个对象引用是不同的,它们不一定引用不同的对象。
boolean _non_existent()
true
;否则返回
false
int _hash(int maximum)
maximum
- ORB 返回的哈希值的上限
Object _duplicate()
注意,此方法在 Java 平台上不是很有用,因为内存管理由 VM 处理。包含此方法是为了与 CORBA API 保持一致。
_duplicate
方法可能返回此对象引用本身。
void _release()
Object _get_interface_def()
InterfaceDef
。可以使用
InterfaceDef
对象对此对象引用所引用对象的方法、属性和其他类型信息进行内省。
InterfaceDef
对象,它提供了有关此对象引用所引用的对象的类型信息。
Request _request(String operation)
Request
实例。
operation
- 使用
Request
实例调用的方法的名称
Request
实例
Request _create_request(Context ctx, String operation, NVList arg_list, NamedValue result)
Request
实例,并使用给定上下文、方法名称、参数列表和用于该方法返回值的容器进行初始化。
ctx
- 包含属性列表的
Context
对象
operation
- 要调用的方法的名称
arg_list
- 一个
NVList
,包含将调用的方法的实际参数
result
- 作为该方法返回值容器的
NamedValue
对象
Request
对象
Request
,
NVList
,
NamedValue
Request _create_request(Context ctx, String operation, NVList arg_list, NamedValue result, ExceptionList exclist, ContextList ctxlist)
Request
实例,并使用给定上下文、方法名称、参数列表、用于该方法返回值的容器、可能的异常列表以及需要被解析的上下文字符串所组成的列表进行初始化。
ctx
- 包含属性列表的
Context
对象
operation
- 要调用的方法的名称
arg_list
- 一个
NVList
,包含将调用的方法的实际参数
result
- 作为该方法返回值容器的
NamedValue
对象
exclist
- 一个
ExceptionList
对象,包含该方法可能抛出的异常所组成的列表
ctxlist
- 一个
ContextList
对象,包含需要被解析的上下文字符串所组成的列表,这些字符串随
Request
实例一起发送
Request
对象
Request
,
NVList
,
NamedValue
,
ExceptionList
,
ContextList
Policy _get_policy(int policy_type)
Policy
对象。
policy_type
- 将获取的策略类型
Policy
对象
BAD_PARAM
- 当由于此 ORB 不支持指定类型或者该类型的策略对象没有与此对象关联而导致策略类型值无效时
DomainManager[] _get_domain_managers()
DomainManager
。这允许管理服务(和应用程序)检索域管理程序,从而使得安全性和其他策略能应用于作为该域成员的各个对象。
Object _set_policy_override(Policy[] policies, SetOverrideType set_add)
Object
,使用给定策略替换此
Object
中的所有现有策略,或者根据给定
SetOverrideType
对象的值将给定策略添加到现有策略。
policies
- 一个
Policy
对象数组,包含将添加或用作替代策略的策略
set_add
- 该值可以为
SetOverrideType.SET_OVERRIDE
,指示给定策略将替换所有现有策略;也可以为
SetOverrideType.ADD_OVERRIDE
,指示应该添加到所有现有策略的给定策略
Object
,此
Object
中的策略已使用给定策略替换或添加