Module  java.corba

Class ObjectImpl

    • 构造方法详细信息

      • ObjectImpl

        public ObjectImpl​()
    • 方法详细信息

      • _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对象,该对象是该对象的副本
      • _release

        public void _release​()
        释放与此 ObjectImpl对象相关联的资源。
        Specified by:
        _release在接口 Object
      • _is_a

        public boolean _is_a​(String repository_id)
        检查由给定的存储库标识符标识的对象是否为 ObjectImpl对象。
        Specified by:
        _is_a在接口 Object
        参数
        repository_id - 具有要检查的存储库标识符的 String对象
        结果
        true如果由给定的存储库标识的对象是ObjectImpl的实例; false否则
      • _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内部标识符的哈希码。
        Specified by:
        _hash在接口 Object
        参数
        maximum - 一个 int表示由ORB返回的哈希值的上限
        结果
        一个 int表示这个 ObjectImpl对象的哈希码
      • _request

        public Request _request​(String operation)
        创建一个包含可以与动态调用接口一起使用的给定方法的 Request对象。
        Specified by:
        _request在接口 Object
        参数
        operation - 由新的 Request对象调用的方法
        结果
        用给定的方法初始化一个新的 Request对象
      • _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对象作为返回值
        另请参见:
        RequestNVListNamedValue
      • _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对象,使用给定的上下文字符串进行初始化,以解析,方法,参数列表,结果容器,异常以及用于解析上下文字符串的属性名称列表
        另请参见:
        RequestNVListNamedValueExceptionListContextList
      • _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的调用应放在Java finally子句中。
        参数
        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对象。
        重写:
        toStringObject
        结果
        这个对象的 String表示
      • equals

        public boolean equals​(Object obj)
        将此 ObjectImpl对象与给定的对象进行比较以获得相等性。
        重写:
        equalsObject
        参数
        obj - 用于比较此对象的对象
        结果
        true如果两个对象相等; 否则为false
        另请参见:
        Object.hashCode()HashMap