- java.lang.Object
-
- org.omg.CORBA.portable.ObjectImpl
-
- All Implemented Interfaces:
-
Object
- 已知直接子类:
-
_BindingIteratorStub
,_DynAnyFactoryStub
,_DynAnyStub
,_DynArrayStub
,_DynEnumStub
,_DynFixedStub
,_DynSequenceStub
,_DynStructStub
,_DynUnionStub
,_DynValueStub
,_IDLTypeStub
,_NamingContextExtStub
,_NamingContextStub
,_PolicyStub
,_ServantActivatorStub
,_ServantLocatorStub
,DynamicImplementation
,ObjectImpl
public abstract class ObjectImpl extends Object implements Object
所有存根类的公共基类; 提供org.omg.CORBA.Object
方法的默认实现。 所有方法实现都转发到ObjectImpl
实例中存储的Delegate
对象。ObjectImpl
允许便携式存根,因为Delegate
可以由不同的供应商特定的ORB来实现。
-
-
构造方法摘要
构造方法 Constructor 描述 ObjectImpl()
-
方法摘要
所有方法 接口方法 抽象方法 具体的方法 Modifier and Type 方法 描述 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()
检索对这个ObjectImpl
对象委托所有调用的方法的供应商特定的Delegate
对象的引用。DomainManager[]
_get_domain_managers()
检索此ObjectImpl
对象的域管理员列表。Object
_get_interface_def()
检索此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
对象。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
对象。OutputStream
_request(String operation, boolean responseExpected)
返回一个用于编组给定方法的参数的OutputStream
对象。void
_servant_postinvoke(ServantObject servant)
在本地存根调用了先前从方法_servant_preinvoke
的调用中检索到的本地仆人的操作之后,本地存根调用。ServantObject
_servant_preinvoke(String operation, Class 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
对象。
-
-
-
方法详细信息
-
_get_delegate
public Delegate _get_delegate()
检索对ObjectImpl
对象委托所有调用的方法的供应商特定的Delegate
对象的引用。- 结果
- 该代理包含在此ObjectImpl实例中
- 异常
-
BAD_OPERATION
- 如果BAD_OPERATION
尚未设置 - 另请参见:
-
_set_delegate(org.omg.CORBA.portable.Delegate)
-
_set_delegate
public void _set_delegate(Delegate delegate)
将此ObjectImpl
实例的代理设置为给定的Delegate
对象。 此ObjectImpl
对象上的所有方法调用将转发给此委托。- 参数
-
delegate
- 将为此ObjectImpl
对象所有方法调用的Delegate
实例进行委派; 可能由第三方ORB实施 - 另请参见:
-
_get_delegate()
-
_ids
public abstract String[] _ids()
检索包含此ObjectImpl
对象支持的存储库标识符的字符串数组。 例如,对于stub,此方法返回有关stub支持的所有接口的信息。- 结果
-
该
ObjectImpl
实例支持的所有存储库标识符的数组
-
_duplicate
public Object _duplicate()
返回此ObjectImpl
对象的副本。- Specified by:
-
_duplicate
在接口Object
- 结果
-
一个
orb.omg.CORBA.Object
对象,该对象是该对象的副本
-
_is_a
public boolean _is_a(String repository_id)
检查由给定的存储库标识符标识的对象是否为ObjectImpl
对象。
-
_is_equivalent
public boolean _is_equivalent(Object that)
检查给定的ObjectImpl
对象是否等同于此ObjectImpl
对象。- Specified by:
-
_is_equivalent
在接口Object
- 参数
-
that
- 与该ObjectImpl
对象进行比较的ObjectImpl
一个实例 - 结果
-
true
如果给定的对象相当于这个ObjectImpl
对象; 否则为false
-
_non_existent
public boolean _non_existent()
检查此ObjectImpl
对象的服务器对象是否已被销毁。- Specified by:
-
_non_existent
在接口Object
- 结果
-
true
如果ORB权威地知道服务器对象不存在;false
否则
-
_hash
public int _hash(int maximum)
检索用作此ObjectImpl
对象的ORB内部标识符的哈希码。
-
_create_request
public Request _create_request(Context ctx, String operation, NVList arg_list, NamedValue result)
创建一个包含给定上下文,方法,参数列表和容器的Request
对象。- Specified by:
-
_create_request
在接口Object
- 参数
-
ctx
- 请求的上下文 -
operation
- 新的Request
对象将调用的方法 -
arg_list
- 方法的参数; 一个NVList
,其中每个参数是一个NamedValue
对象 -
result
- 用于返回执行请求方法的结果的NamedValue
对象 - 结果
-
使用给定的上下文,方法,参数列表和容器初始化一个新的
Request
对象作为返回值 - 另请参见:
-
Request
,NVList
,NamedValue
-
_create_request
public Request _create_request(Context ctx, String operation, NVList arg_list, NamedValue result, ExceptionList exceptions, ContextList contexts)
创建一个Request
对象,其中包含给定的上下文,方法,参数列表,结果容器,异常以及用于解析上下文字符串的属性名称列表。 此Request
对象用于动态调用接口。- Specified by:
-
_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
-
_get_interface_def
public Object _get_interface_def()
检索ObjectImpl
对象的接口定义。- Specified by:
-
_get_interface_def
在接口Object
- 结果
-
org.omg.CORBA.Object
实例是ObjectImpl
对象的接口定义
-
_orb
public ORB _orb()
返回与该对象及其委托关联的ORB的引用。 这是创建ORB
对象。- 结果
-
该
ORB
创建实例Delegate
包含在此对象ObjectImpl
对象
-
_get_policy
public Policy _get_policy(int policy_type)
检索具有给定策略类型的此ObjectImpl
对象的Policy
对象。- Specified by:
-
_get_policy
在接口Object
- 参数
-
policy_type
- 指示策略类型的int - 结果
-
Policy
对象是指定的策略类型,适用于此ObjectImpl
对象 - 另请参见:
-
PolicyOperations.policy_type()
-
_get_domain_managers
public DomainManager[] _get_domain_managers()
获取此ObjectImpl
对象的域管理器列表。- Specified by:
-
_get_domain_managers
在接口Object
- 结果
-
一个包含
DomainManager
对象的数组,用于此实例为ObjectImpl
-
_set_policy_override
public Object _set_policy_override(Policy[] policies, SetOverrideType set_add)
将此ObjectImpl
对象的覆盖类型设置为给定的实例SetOverrideType
。- Specified by:
-
_set_policy_override
在接口Object
- 参数
-
policies
- 一系列Policy
对象,其中将替换当前策略或添加到当前策略的策略 -
set_add
-SetOverrideType.SET_OVERRIDE
,表示给定的政策将取代任何现有的政策,或SetOverrideType.ADD_OVERRIDE
,表示给定的政策应该添加到任何现有的 - 结果
-
一个
Object
,其中给定的策略替换或添加到其以前的策略
-
_is_local
public boolean _is_local()
检查此ObjectImpl
对象是否由本地仆人实现。 如果是这样,可以使用本地调用API。- 结果
-
true
如果此对象由本地服务器实现; 否则为false
-
_servant_preinvoke
public ServantObject _servant_preinvoke(String operation, Class expectedType)
返回对本地servant的Java引用,该引用应用于发送请求方法。 如果这个ObjectImpl
对象是本地存根,它将在发送请求之前调用_servant_preinvoke
方法,以获得要使用的ServantObject
实例。如果返回
ServantObject
对象,其servant
字段已设置为预期类型的对象(注意:对象可能是也可能不是实际的servant实例)。 本地存根可能会将servant字段转换为预期类型,然后直接调用该操作。ServantRequest
对象仅对一个调用有效,不能用于多个调用。- 参数
-
operation
- 一个String
其中包含要调用的方法的名称。 该名称应与GIOP请求中编码的方法名称相对应。 -
expectedType
- 一个Class
对象,表示返回的servant的预期类型。 该预期类型是与存根接口的操作类相关联的Class
对象。 例如,接口Foo
的存根将通过Class
对象的FooOperations
接口。 - 结果
-
(1)一个
ServantObject
对象,其可能是也可能不是实际的服务实例,或(2)null
如果(a)仆人不是本地的,或(b)仆人因POA的ForwardRequest而不再是本地的ServantManager - 异常
-
BAD_PARAM
- 如果仆人不是预期类型
-
_servant_postinvoke
public void _servant_postinvoke(ServantObject servant)
在本地存根调用了先前从方法_servant_preinvoke
的调用中检索到的本地仆人的操作之后,本地存根调用。 该_servant_postinvoke
必须调用方法,如果_servant_preinvoke
方法返回一个非空值,即使一个异常被由仆人调用的方法抛出。 因此,对方法_servant_postinvoke
的调用应放在Javafinally
子句中。- 参数
-
servant
-的实例ServantObject
由返回_servant_preinvoke
方法
-
_request
public OutputStream _request(String operation, boolean responseExpected)
返回一个用于编组给定方法的参数的OutputStream
对象。 该方法由一个存根调用,它必须指示是否有预期的响应,即该调用是否是单向的。- 参数
-
operation
- 一个给出方法名称的String。 -
responseExpected
- 一个布尔 -true
如果请求不是一种方式,也就是预期的响应 - 结果
-
一个用于调度请求的
OutputStream
对象
-
_invoke
public InputStream _invoke(OutputStream output) throws ApplicationException, RemarshalException
调用一个操作并返回一个InputStream
对象来读取响应。 存根提供OutputStream
对象,以前通过调用_request
方法返回的对象。 在以前调用时指定为_request
的参数的方法是此方法调用的方法。如果发生异常,则
_invoke
方法可能会抛出一个ApplicationException
对象,该对象包含用户异常状态可能被取消组合的InputStream。- 参数
-
output
- 用于调度请求的OutputStream对象 - 结果
-
一个
InputStream
对象,包含调用方法的编组响应 - 异常
-
ApplicationException
- 如果调用符合应用程序定义的异常 -
RemarshalException
- 如果调用导致重新安排错误 - 另请参见:
-
_request(java.lang.String)
-
_releaseReply
public void _releaseReply(InputStream input)
在调用方法_invoke
之后解组已经完成时,将给定的回复流释放回ORB。 调用此方法对于存根是可选的。- 参数
-
input
- 由_invoke
方法或ApplicationException.getInputStream
方法返回的InputStream
对象; 可能是null
,在这种情况下,这种方法什么都不做 - 另请参见:
-
_invoke(org.omg.CORBA.portable.OutputStream)
-
toString
public String toString()
返回String
对象,它表示此ObjectImpl
对象。
-
hashCode
public int hashCode()
返回此ObjectImpl
对象的哈希码。- 重写:
-
hashCode
在Object
- 结果
- 该对象的哈希码
- 另请参见:
-
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
equals
public boolean equals(Object obj)
将此ObjectImpl
对象与给定的对象进行比较以获得相等性。- 重写:
-
equals
在Object
- 参数
-
obj
- 用于比较此对象的对象 - 结果
-
true
如果两个对象相等; 否则为false
- 另请参见:
-
Object.hashCode()
,HashMap
-
-