Module  java.corba

Class Delegate

  • 已知直接子类:
    Delegate


    public abstract class Delegate
    extends Object
    指定用于ORB特定于org.omg.CORBA.Object方法的ORB特定于实现的便携式API。 每个stub(代理)都包含一个委托对象,所有的org.omg.CORBA.Object方法被转发到该对象。 这允许一个供应商的ORB生成的存根与来自另一个供应商的ORB的委托一起工作。
    另请参见:
    Object
    • 构造方法详细信息

      • Delegate

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

      • get_interface_def

        public abstract Object get_interface_def​(Object self)
        返回提供的对象引用的InterfaceDef。
        参数
        self - 需要返回其InterfaceDef的对象引用
        结果
        InterfaceDef
      • duplicate

        public abstract Object duplicate​(Object obj)
        返回提供的对象引用的副本。
        参数
        obj - 需要返回其重复的对象引用
        结果
        重复的对象引用
      • release

        public abstract void release​(Object obj)
        释放与提供的对象引用相关联的资源。
        参数
        obj - 资源需要释放的对象引用
      • is_a

        public abstract boolean is_a​(Object obj,
                                     String repository_id)
        检查对象引用是否是给定接口的实例。
        参数
        obj - 要检查的对象引用。
        repository_id - 要检查的接口的存储库标识符。
        结果
        如果对象引用支持接口,则为true
      • non_existent

        public abstract boolean non_existent​(Object obj)
        确定对象引用的服务器对象是否已被销毁。
        参数
        obj - 委托给该委托的对象引用。
        结果
        如果ORB知道服务器对象不存在,则为true,否则为false
      • is_equivalent

        public abstract boolean is_equivalent​(Object obj,
                                              Object other)
        确定两个对象引用是否相等。
        参数
        obj - 委托给该委托的对象引用。
        other - 对象引用来检查对等。
        结果
        如果对象是CORBA等效的,则为true。
      • hash

        public abstract int hash​(Object obj,
                                 int max)
        返回此对象引用的ORB内部标识符(hashcode)。
        参数
        obj - 委托给该委托的对象引用。
        max - 指定由ORB返回的哈希值的上限。
        结果
        用于对象引用的ORB内部散列标识符
      • request

        public abstract Request request​(Object obj,
                                        String operation)
        创建一个要在动态调用接口中使用的请求实例。
        参数
        obj - 委托给该委托的对象引用。
        operation - 要使用Request实例调用的操作的名称。
        结果
        创建的请求实例
      • create_request

        public abstract Request create_request​(Object obj,
                                               Context ctx,
                                               String operation,
                                               NVList arg_list,
                                               NamedValue result)
        创建一个要在动态调用接口中使用的请求实例。
        参数
        obj - 委托给该委托的对象引用。
        ctx - 要使用的上下文。
        operation - 要调用的操作的名称。
        arg_list - arg_list形式的操作参数。
        result - 结果为NamedValue的容器。
        结果
        创建的请求对象。
      • create_request

        public abstract Request create_request​(Object obj,
                                               Context ctx,
                                               String operation,
                                               NVList arg_list,
                                               NamedValue result,
                                               ExceptionList exclist,
                                               ContextList ctxlist)
        创建一个要在动态调用接口中使用的请求实例。
        参数
        obj - 委托给该委托的对象引用。
        ctx - 要使用的上下文。
        operation - 要调用的操作的名称。
        arg_list - arg_list形式的操作参数。
        result - 结果为NamedValue的容器。
        exclist - 操作可能抛出的可能异常的列表。
        ctxlist - 需要解析并使用请求发送的上下文字符串列表。
        结果
        创建的请求对象。
      • get_policy

        public Policy get_policy​(Object self,
                                 int policy_type)
        返回适用于此对象的指定类型的 Policy对象。
        参数
        self - 委托给该委托的对象引用。
        policy_type - 要获得的政策类型。
        结果
        一个 Policy由policy_type参数指定的类型的对象。
        异常
        BAD_PARAM - 当策略类型的值无效时引发,因为此ORB不支持指定的类型,或者因为该类型的策略对象与此对象不关联。
        另请参见:
        portable package comments for unimplemented features
      • get_domain_managers

        public DomainManager[] get_domain_managers​(Object self)
        检索该对象的DomainManagers 这允许管理服务(和应用程序)检索域管理器,从而适用于作为域成员的各个对象的安全性和其他策略。
        参数
        self - 委托给该委托的对象引用。
        结果
        此对象的立即封闭域管理器的列表。 至少一个域管理器总是在列表中返回,因为默认情况下,每个对象在创建时至少与一个域管理器相关联。
        另请参见:
        portable package comments for unimplemented features
      • set_policy_override

        public Object set_policy_override​(Object self,
                                          Policy[] policies,
                                          SetOverrideType set_add)
        将传递的策略与返回的新创建的对象引用相关联。 只有与客户端调用操作有关的某些策略才可以使用此操作进行覆盖。 尝试覆盖任何其他策略将导致CORBA :: NO_PERMISSION异常的提升。
        参数
        self - 委托给该委托的对象引用。
        policies - 对策略对象的引用序列。
        set_add - 指示是否应将这些策略添加到对象引用中已存在的任何代码(ADD_OVERRIDE),或者将它们添加到干净的覆盖自由对象引用(SET_OVERRIDE)中。
        结果
        与其相关联的新策略的新对象引用。
        另请参见:
        portable package comments for unimplemented features
      • is_local

        public boolean is_local​(Object self)
        如果此对象由本地服务器实现,则返回true。
        参数
        self - 委托给该委托的对象引用。
        结果
        只有当该对象的服务器位于该Java VM中时,才为true。 如果仆人不是本地的,ORB不支持本仆人的本地存根,则返回false。 is_local()的默认行为是返回false。
      • servant_preinvoke

        public ServantObject servant_preinvoke​(Object self,
                                               String operation,
                                               Class expectedType)
        返回应用于此请求的servant的Java引用。 servant_preinvoke()由本地存根调用。 如果返回了ServantObject对象,则其servant字段已设置为预期类型的对象(注意:对象可能是也可能不是实际的servant实例)。 本地存根可能会将servant字段转换为预期类型,然后直接调用该操作。 ServantRequest对象只对一个调用有效,不能用于多个调用。
        参数
        self - 委托给该委托的对象引用。
        operation - 包含操作名称的字符串。 操作名称对应于在GIOP请求中编码的操作名称。
        expectedType - 表示仆人预期类型的Class对象。 预期类型是与存根接口的操作类相关联的Class对象(例如,Foo接口的一个存根,将传递FooOperations接口的Class对象)。
        结果
        一个ServantObject对象。 如果不希望支持此优化(例如,由于安全性,事务等),该方法可能返回空值。 如果servant不是期望类型,该方法必须返回null。
      • servant_postinvoke

        public void servant_postinvoke​(Object self,
                                       ServantObject servant)
        在本地服务器上调用操作后,本地存根调用servant_postinvoke()。 如果servant_preinvoke()返回非空值,即使由servant方法抛出异常,也必须调用此方法。 因此,对servant_postinvoke()的调用应放在Java finally子句中。
        参数
        self - 委托给此委托的对象引用。
        servant - 从servant_preinvoke()方法返回的ServantObject的实例。
      • request

        public OutputStream request​(Object self,
                                    String operation,
                                    boolean responseExpected)
        请求被stub调用以获取用于封送参数的OutputStream。 存根必须提供操作名称,并指示是否预期响应(即这是单向呼叫)。
        参数
        self - 委托给该委托的对象引用。
        operation - 包含操作名称的字符串。 操作名称对应于在GIOP请求中编码的操作名称。
        responseExpected - 如果操作是单向操作, responseExpected false,否则为true。
        结果
        OutputStream OutputStream可以对哪个请求参数进行封送。
        另请参见:
        portable package comments for unimplemented features
      • releaseReply

        public void releaseReply​(Object self,
                                 InputStream input)
        releaseReply可以可选地被存根调用以在解组合完成时将回复流释放回ORB。 存根传递由invoke()或ApplicationException.getInputStream()返回的InputStream。 空值也可以传递给releaseReply,在这种情况下,该方法是noop。
        参数
        self - 委托给该委托的对象引用。
        input - 从invoke()返回的InputStream。
        另请参见:
        portable package comments for unimplemented features
      • toString

        public String toString​(Object self)
        提供实现来覆盖委托CORBA对象的toString()方法。
        参数
        self - 委托给该委托的对象引用
        结果
        一个 String对象,表示委托给此 Delegate对象的对象引用
      • hashCode

        public int hashCode​(Object self)
        提供实现来覆盖委托CORBA对象的hashCode()方法。
        参数
        self - 委托给此委托的对象引用
        结果
        一个 int ,表示委托给该 Delegate对象的对象引用的哈希 Delegate
      • equals

        public boolean equals​(Object self,
                              Object obj)
        提供实现来覆盖委托CORBA对象的equals(java.lang.Object obj)方法。
        参数
        self - 委托给该委托的对象引用
        obj - 与 Object进行比较
        结果
        true if obj equals self; false otherwise