Module  java.corba
软件包  org.omg.CORBA

Class Request



  • public abstract class Request
    extends Object
    包含调用方法所需信息的对象。 这个类是ORB动态调用接口(DII)的基石,它允许动态创建和调用请求。 服务器无法使用客户端存根和使用DII的请求来区分客户机调用之间的区别。

    一个Request对象包括:

    • 要调用的操作的名称
    • 一个NVList包含操作的参数。
      列表中的每个项目都是一个NamedValue对象,它有三个部分:
      1. 参数的名称
      2. 参数的值(作为Any对象)
      3. 指示参数是用于输入,输出还是两者的参数模式标志

    Request对象还可以包含附加信息,这取决于在原始IDL接口定义中如何定义操作。 例如,在适当的情况下,它们可能包含一个NamedValue对象来保存返回值或异常,上下文,可能的异常列表以及需要解析的上下文字符串列表。

    新的Request对象是使用Object类中的create_request方法之一创建的。 换句话说, create_request调用的对象执行create_request方法。

    另请参见:
    NamedValue
    • 构造方法详细信息

      • Request

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

      • target

        public abstract Object target​()
        检索目标对象引用。
        结果
        指向要调用的方法的对象实现的对象引用
      • operation

        public abstract String operation​()
        检索要调用的方法的名称。
        结果
        要调用的方法的名称
      • arguments

        public abstract NVList arguments​()
        检索包含要调用方法的参数的NVList对象。 列表中的元素是NamedValue对象,每个对象都描述了该方法的参数。
        结果
        NVList对象包含该方法的参数
      • result

        public abstract NamedValue result​()
        检索包含方法返回值的 NamedValue对象。
        结果
        包含该方法的结果的 NamedValue对象
      • env

        public abstract Environment env​()
        检索此请求的Environment对象。 它包含被调用的方法抛出的异常(在调用返回之后)。
        结果
        该请求的 Environment对象
      • exceptions

        public abstract ExceptionList exceptions​()
        检索此请求的ExceptionList对象。 该列表包含TypeCode对象,描述可能被调用的方法抛出的异常。
        结果
        描述可能被调用的方法抛出的异常的 ExceptionList对象
      • contexts

        public abstract ContextList contexts​()
        检索此请求的ContextList对象。 该列表包含上下文String ,需要解析并发送。
        结果
        需要解析其值并通过调用发送的上下文字符串列表。
      • ctx

        public abstract Context ctx​()
        检索此请求的Context对象。 这是提供有关客户端,环境或此请求的情况的信息的属性列表。
        结果
        用于解析其值需要与调用一起发送的任何上下文字符串的 Context对象
      • ctx

        public abstract void ctx​(Context c)
        将该请求的 Context对象设置为给定的对象。
        参数
        c - 用于解析上下文字符串的新的 Context对象
      • add_in_arg

        public abstract Any add_in_arg​()
        创建输入参数并将其添加到此 Request对象。
        结果
        一个 Any对象,其中包含添加的输入参数的值和类型代码
      • add_named_in_arg

        public abstract Any add_named_in_arg​(String name)
        使用给定的名称创建输入参数,并将其添加到此 Request对象。
        参数
        name - 要添加的参数的名称
        结果
        一个 Any对象,其中包含添加的输入参数的值和类型代码
      • add_inout_arg

        public abstract Any add_inout_arg​()
        在此 Request对象中添加一个输入/输出参数。
        结果
        一个 Any对象,其中包含添加的输入/输出参数的值和类型代码
      • add_named_inout_arg

        public abstract Any add_named_inout_arg​(String name)
        将给定名称的输入/输出参数添加到此 Request对象。
        参数
        name - 要添加的参数的名称
        结果
        一个 Any对象,其中包含添加的输入/输出参数的值和类型代码
      • add_out_arg

        public abstract Any add_out_arg​()
        向此 Request对象添加一个输出参数。
        结果
        一个 Any对象,其中包含添加的输出参数的值和类型代码
      • add_named_out_arg

        public abstract Any add_named_out_arg​(String name)
        将给定名称的输出参数添加到此 Request对象。
        参数
        name - 要添加的参数的名称
        结果
        一个 Any对象,其中包含添加的输出参数的值和类型代码
      • set_return_type

        public abstract void set_return_type​(TypeCode tc)
        设置方法的返回值的类型代码。
        参数
        tc - TypeCode对象包含返回值的类型信息
      • return_value

        public abstract Any return_value​()
        返回包含该方法结果值的 Any对象。
        结果
        一个 Any对象,包含返回值的值和类型代码
      • invoke

        public abstract void invoke​()
        使用Request对象中的信息进行同步调用。 异常信息被放置在Request对象的环境对象中。
      • send_oneway

        public abstract void send_oneway​()
        根据请求进行单向调用。 换句话说,它不期待或等待响应。 请注意,即使操作在IDL声明中未声明为单向操作也可以使用。 没有返回任何响应或异常信息。
      • send_deferred

        public abstract void send_deferred​()
        对请求进行异步调用。 换句话说,它在返回给用户之前不等待响应。 用户随后可以使用方法poll_responseget_response获取调用的结果或异常信息。
      • poll_response

        public abstract boolean poll_response​()
        允许用户通过 send_deferred方法确定先前触发的调用是否已收到响应。
        结果
        true如果已经收到方法响应; false否则
      • get_response

        public abstract void get_response​()
                                   throws WrongTransaction
        允许用户使用 send_deferred方法访问先前触发的调用响应。
        异常
        WrongTransaction - 如果方法get_response从与最初发送请求的范围不同的事务范围调用。 有关详细信息,请参阅OMG事务服务规范。