- java.lang.Object
-
- org.omg.CORBA.Request
-
public abstract class Request extends Object
包含调用方法所需信息的对象。 这个类是ORB动态调用接口(DII)的基石,它允许动态创建和调用请求。 服务器无法使用客户端存根和使用DII的请求来区分客户机调用之间的区别。一个
Request
对象包括:- 要调用的操作的名称
- 一个
NVList
包含操作的参数。
列表中的每个项目都是一个NamedValue
对象,它有三个部分:- 参数的名称
- 参数的值(作为
Any
对象) - 指示参数是用于输入,输出还是两者的参数模式标志
Request
对象还可以包含附加信息,这取决于在原始IDL接口定义中如何定义操作。 例如,在适当的情况下,它们可能包含一个NamedValue
对象来保存返回值或异常,上下文,可能的异常列表以及需要解析的上下文字符串列表。新的
Request
对象是使用Object
类中的create_request
方法之一创建的。 换句话说,create_request
调用的对象执行create_request
方法。- 另请参见:
-
NamedValue
-
-
构造方法摘要
构造方法 Constructor 描述 Request()
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 abstract Any
add_in_arg()
创建一个输入参数并将其添加到此Request
对象。abstract Any
add_inout_arg()
向此Request
对象添加一个输入/输出参数。abstract Any
add_named_in_arg(String name)
使用给定的名称创建输入参数,并将其添加到此Request
对象。abstract Any
add_named_inout_arg(String name)
将给定名称的输入/输出参数添加到此Request
对象。abstract Any
add_named_out_arg(String name)
将给定名称的输出参数添加到此Request
对象。abstract Any
add_out_arg()
向此Request
对象添加输出参数。abstract NVList
arguments()
检索包含要调用方法的参数的NVList
对象。abstract ContextList
contexts()
检索此请求的ContextList
对象。abstract Context
ctx()
检索此请求的Context
对象。abstract void
ctx(Context c)
将此请求的Context
对象设置为给定的对象。abstract Environment
env()
检索此请求的Environment
对象。abstract ExceptionList
exceptions()
检索此请求的ExceptionList
对象。abstract void
get_response()
允许用户使用send_deferred
方法访问先前触发的调用响应。abstract void
invoke()
使用Request
对象中的信息进行同步调用。abstract String
operation()
检索要调用的方法的名称。abstract boolean
poll_response()
允许用户确定是否已经接收到针对先前触发的调用的send_deferred
方法。abstract NamedValue
result()
检索包含该方法的返回值的NamedValue
对象。abstract Any
return_value()
返回包含该方法结果值的Any
对象。abstract void
send_deferred()
对请求进行异步调用。abstract void
send_oneway()
根据请求进行单向调用。abstract void
set_return_type(TypeCode tc)
设置方法的返回值的类型代码。abstract Object
target()
检索目标对象引用。
-
-
-
方法详细信息
-
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_response
和get_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事务服务规范。
-
-