JavaTM 2 Platform
Standard Ed. 5.0

org.omg.CORBA
接口 Object

所有已知子接口:
AdapterActivator, BindingIterator, ClientRequestInfo, ClientRequestInterceptor, Codec, CodecFactory, Current, Current, Current, DomainManager, DynAny, DynAny, DynAnyFactory, DynArray, DynArray, DynEnum, DynEnum, DynFixed, DynFixed, DynSequence, DynSequence, DynStruct, DynStruct, DynUnion, DynUnion, DynValue, DynValue, DynValueBox, DynValueCommon, IdAssignmentPolicy, IDLType, IdUniquenessPolicy, ImplicitActivationPolicy, Interceptor, IORInfo, IORInterceptor, IORInterceptor_3_0, IRObject, LifespanPolicy, NamingContext, NamingContextExt, ORBInitializer, ORBInitInfo, POA, POAManager, Policy, PolicyFactory, RequestInfo, RequestProcessingPolicy, RunTime, ServantActivator, ServantLocator, ServantManager, ServantRetentionPolicy, ServerRequestInfo, ServerRequestInterceptor, ThreadPolicy
所有已知实现类:
_BindingIteratorImplBase, _BindingIteratorStub, _DynAnyFactoryStub, _DynAnyStub, _DynArrayStub, _DynEnumStub, _DynFixedStub, _DynSequenceStub, _DynStructStub, _DynUnionStub, _DynValueStub, _IDLTypeStub, _NamingContextExtStub, _NamingContextImplBase, _NamingContextStub, _PolicyStub, _Remote_Stub, _ServantActivatorStub, _ServantLocatorStub, DynamicImplementation, LocalObject, ObjectImpl, ObjectImpl, Stub

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 对象的值将给定策略添加到现有策略。
 

方法详细信息

_is_a

boolean _is_a(String repositoryIdentifier)
检查此对象是否是实现给定接口的类的实例。

参数:
repositoryIdentifier - 要检查的接口
返回:
如果此对象引用是实现接口的类的实例,则返回 true;否则返回 false

_is_equivalent

boolean _is_equivalent(Object other)
在 ORB 确定时所需开销不大的范围内确定两个对象引用是否相等。两个等同的对象引用是相等的。两个实际引用相同对象的不同对象引用也是相等的。但是,ORB 不需要尝试确定两个不同的对象引用是否引用了相同的对象,因为这种确定所需的开销可能非常昂贵。

参数:
other - 用来检查相等性的另一个对象引用
返回:
如果已知此对象引用与给定对象引用相等,则返回 true。注意,false 仅指示两个对象引用是不同的,它们不一定引用不同的对象。

_non_existent

boolean _non_existent()
确定此对象引用的 server 对象是否已经被销毁。

返回:
如果 ORB 确信 server 对象不存在,则返回 true;否则返回 false

_hash

int _hash(int maximum)
返回此对象引用的 ORB 内部标识符。这是一个哈希标识符,在对象引用的生存期间该标识符不会发生更改,因此该标识符的任何哈希函数也不会发生更改。不保证返回值是唯一的;换句话说,另一个对象引用可以有相同的哈希值。如果两个对象引用的哈希值不同,则它们是不同的对象引用,但是它们仍然可以引用相同的 CORBA 对象。

参数:
maximum - ORB 返回的哈希值的上限
返回:
此对象引用的 ORB 内部哈希标识符

_duplicate

Object _duplicate()
返回此 CORBA 对象引用的副本。server 对象实现不涉及创建副本,并且该实现无法区分请求时使用的是原始对象引用还是副本。

注意,此方法在 Java 平台上不是很有用,因为内存管理由 VM 处理。包含此方法是为了与 CORBA API 保持一致。

_duplicate 方法可能返回此对象引用本身。

返回:
此对象引用的副本或此对象引用本身

_release

void _release()
发出信号,指示此对象引用调用方已经使用完毕,因而可以释放与此对象引用关联的内部 ORB 资源。注意,此操作中不涉及对象实现,并且不影响对同一对象的其他引用。


_get_interface_def

Object _get_interface_def()
获取此对象引用所引用的对象实现的 InterfaceDef。可以使用 InterfaceDef 对象对此对象引用所引用对象的方法、属性和其他类型信息进行内省。

返回:
Repository 接口中的 InterfaceDef 对象,它提供了有关此对象引用所引用的对象的类型信息。

_request

Request _request(String operation)
创建一个在动态调用接口 (Dynamic Invocation Interface) 中使用的 Request 实例。

参数:
operation - 使用 Request 实例调用的方法的名称
返回:
新创建的 Request 实例

_create_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

_create_request

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

_get_policy

Policy _get_policy(int policy_type)
返回应用于此对象的指定类型的 Policy 对象。

参数:
policy_type - 将获取的策略类型
返回:
由 policy_type 参数指定的类型的 Policy 对象
抛出:
BAD_PARAM - 当由于此 ORB 不支持指定类型或者该类型的策略对象没有与此对象关联而导致策略类型值无效时

_get_domain_managers

DomainManager[] _get_domain_managers()
检索此对象的 DomainManager。这允许管理服务(和应用程序)检索域管理程序,从而使得安全性和其他策略能应用于作为该域成员的各个对象。

返回:
此类直接封装的域管理程序列表。至少有一个域管理程序总是返回在列表中,因为默认情况下,每个类在创建时至少关联一个域管理程序。

_set_policy_override

Object _set_policy_override(Policy[] policies,
                            SetOverrideType set_add)
返回一个新的 Object,使用给定策略替换此 Object 中的所有现有策略,或者根据给定 SetOverrideType 对象的值将给定策略添加到现有策略。

参数:
policies - 一个 Policy 对象数组,包含将添加或用作替代策略的策略
set_add - 该值可以为 SetOverrideType.SET_OVERRIDE,指示给定策略将替换所有现有策略;也可以为 SetOverrideType.ADD_OVERRIDE,指示应该添加到所有现有策略的给定策略
返回:
一个新 Object,此 Object 中的策略已使用给定策略替换或添加

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策