java.lang.Object org.omg.CORBA.Request
public abstract class Request
包含调用某一方法所必需的信息的对象。此类是 ORB 动态调用接口(Dynamic Invocation Interface,DII)的基石,它允许动态创建并调用请求。服务器无法判断使用客户端 stub 的客户端调用与使用 DII 的请求之间的不同。
Request
对象由以下内容组成:
NVList
。NamedValue
对象,它由三部分组成:
Any
对象的形式存在) Request
对象还可以包含附加信息,这取决于原始 IDL 接口定义中对操作的定义。例如,在合适的地方可以包含一个 NamedValue
对象来保存返回值、异常、上下文、可能异常的列表和需要解析的上下文字符串列表。
新的 Request
对象是使用 Object
类中的 create_request
方法之一创建的。换句话说,create_request
方法是在将被调用的对象上执行的。
NamedValue
构造方法摘要 | |
---|---|
Request() |
方法摘要 | |
---|---|
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) 设置该方法返回值的 typecode。 |
abstract Object |
target() 检索目标对象引用。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
public Request()
方法详细信息 |
---|
public abstract Object target()
public abstract String operation()
public abstract NVList arguments()
NVList
对象。列表中的元素都是
NamedValue
对象,每个元素描述该方法的一个参数。
NVList
对象
public abstract NamedValue result()
NamedValue
对象。
NamedValue
对象
public abstract Environment env()
Environment
对象。它包含被调用的方法所抛出的异常(在调用返回之后)。
Environment
对象
public abstract ExceptionList exceptions()
ExceptionList
对象。此列表包含
TypeCode
对象,这些对象描述将被调用的方法可能抛出的异常。
ExceptionList
对象,该对象描述将被调用的方法可能抛出的异常
public abstract ContextList contexts()
ContextList
对象。此列表包含需要解析并随调用发送的上下文
String
。
public abstract Context ctx()
Context
对象。这是一个属性列表,提供有关客户端、环境或此请求的情况的信息。
Context
对象,将使用该对象来解析任何其值需要与调用一起发送的上下文字符串
public abstract void ctx(Context c)
Context
对象设置为给定对象。
c
- 将用来解析上下文字符串的新
Context
对象
public abstract Any add_in_arg()
Request
对象中。
Any
对象,它包含所添加输入参数的值和 typecode
public abstract Any add_named_in_arg(String name)
Request
对象中。
name
- 将添加的参数的名称
Any
对象,它包含所添加输入参数的值和 typecode
public abstract Any add_inout_arg()
Request
对象中。
Any
对象,它包含所添加输入/输出参数的值和 typecode
public abstract Any add_named_inout_arg(String name)
Request
对象中。
name
- 将添加的参数的名称
Any
对象,它包含所添加输入/输出参数的值和 typecode
public abstract Any add_out_arg()
Request
对象中。
Any
对象,它包含所添加输出参数的值和 typecode
public abstract Any add_named_out_arg(String name)
Request
对象中。
name
- 将添加的参数的名称
Any
对象,它包含所添加输出参数的值和 typecode
public abstract void set_return_type(TypeCode tc)
tc
- 包含返回值的类型信息的
TypeCode
对象
public abstract Any return_value()
Any
对象。
Any
对象,它包含返回值的值和 typecode
public abstract void invoke()
Request
对象中的信息进行同步调用。异常信息放置在
Request
对象的环境对象中。
public abstract void send_oneway()
public abstract void send_deferred()
poll_response
和
get_response
方法获取该调用的结果和异常信息。
public abstract boolean poll_response()
send_deferred
方法所触发调用的响应。
true
;否则返回
false
public abstract void get_response() throws WrongTransaction
send_deferred
方法所触发调用的响应。
WrongTransaction
- 如果从不同于最初发送请求的事务处理域中调用
get_response
方法。有关详细信息,请参阅 OMG 事务服务 (Transaction Service) 规范。