- 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 Anyadd_in_arg()创建一个输入参数并将其添加到此Request对象。abstract Anyadd_inout_arg()向此Request对象添加一个输入/输出参数。abstract Anyadd_named_in_arg(String name)使用给定的名称创建输入参数,并将其添加到此Request对象。abstract Anyadd_named_inout_arg(String name)将给定名称的输入/输出参数添加到此Request对象。abstract Anyadd_named_out_arg(String name)将给定名称的输出参数添加到此Request对象。abstract Anyadd_out_arg()向此Request对象添加输出参数。abstract NVListarguments()检索包含要调用方法的参数的NVList对象。abstract ContextListcontexts()检索此请求的ContextList对象。abstract Contextctx()检索此请求的Context对象。abstract voidctx(Context c)将此请求的Context对象设置为给定的对象。abstract Environmentenv()检索此请求的Environment对象。abstract ExceptionListexceptions()检索此请求的ExceptionList对象。abstract voidget_response()允许用户使用send_deferred方法访问先前触发的调用响应。abstract voidinvoke()使用Request对象中的信息进行同步调用。abstract Stringoperation()检索要调用的方法的名称。abstract booleanpoll_response()允许用户确定是否已经接收到针对先前触发的调用的send_deferred方法。abstract NamedValueresult()检索包含该方法的返回值的NamedValue对象。abstract Anyreturn_value()返回包含该方法结果值的Any对象。abstract voidsend_deferred()对请求进行异步调用。abstract voidsend_oneway()根据请求进行单向调用。abstract voidset_return_type(TypeCode tc)设置方法的返回值的类型代码。abstract Objecttarget()检索目标对象引用。
-
-
-
方法详细信息
-
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事务服务规范。
-
-