public abstract class ServerRequest extends Object
Request
对象。
ORB负责创建这体现的请求,并提供了实现动态程序(目录)。一个动态的仆人(DIR)是通过实施DynamicImplementation
类创建的,它有一个单一的invoke
方法。这个方法接受一个ServerRequest
对象。抽象类ServerRequest
定义访问方法名称方法、参数和请求的上下文,以及方法用于设置请求的结果可以作为返回值或异常。
一个访问请求的参数的奥妙在于提供有关预期的参数类型信息的直接需求,由于没有编译这些信息。这些信息是通过一个NVList
提供,这是一个列表的NamedValue
对象。每个NamedValue
对象包含一个Any
对象,这又有一个代表类型的参数TypeCode
对象。
同样,类型信息需要提供响应,无论是预期的结果或为例外,所以方法result
和except
采取Any
对象作为参数。
DynamicImplementation
,
NVList
,
NamedValue
Constructor and Description |
---|
ServerRequest() |
Modifier and Type | Method and Description |
---|---|
void |
arguments(NVList args)
指定的方法的参数类型和返回的“在”和“输入”参数值。
|
abstract Context |
ctx()
返回指定的操作在IDL操作时是不是一个属性的访问和操作的IDL定义包含上下文表达的上下文信息;否则返回nil
Context 参考。
|
void |
except(Any any)
过时的。
使用set_exception()
|
String |
op_name()
过时的。
使用operation()
|
String |
operation()
抛出一个
org.omg.CORBA.NO_IMPLEMENT 例外。
|
void |
params(NVList params)
过时的。
使用方法
arguments
|
void |
result(Any any)
过时的。
使用方法
set_result
|
void |
set_exception(Any any)
抛出一个
org.omg.CORBA.NO_IMPLEMENT 例外。
|
void |
set_result(Any any)
抛出一个
org.omg.CORBA.NO_IMPLEMENT 例外。
|
@Deprecated public String op_name()
_get_<attribute_name>
和
_set_<attribute_name>
作业名称,分别。
public String operation()
org.omg.CORBA.NO_IMPLEMENT
例外。
检索调用的操作的名称。根据OMG IDL的规则,这些名称必须是唯一的在所有支持的操作该对象的“派生”界面。注意,用于获取和设置属性_get_<attribute_name>
和_set_<attribute_name>
作业名称,分别。
CORBA
package comments for unimplemented features
@Deprecated public void params(NVList params)
arguments
注意,这个方法已经过时了;在其所使用的方法arguments
。
除非它调用的方法set_exception
,DIR必须调用这个方法是一次性的,即使方法签名不包含参数。一旦方法 arguments
或set_exception
一直叫,在同一ServerRequest
对象调用arguments
将导致BAD_INV_ORDER
系统异常。DIR必须传递的方法arguments
一nvlist TypeCodes和描述操作的参数类型标志初始化,在它们出现在IDL规范的顺序(从左至右)。一个潜在的不同的nvlist将返回arguments
,与“在”和“输入”参数提供的值。如果不调用方法set_exception
,DIR必须提供返回的nvlist与任何“出”的争论在返回的返回值,也可以改变返回值的任何“输入”的争论。
params
-方法的参数,在一个
NVList
对象的形式
public void arguments(NVList args)
set_exception
,DIR必须调用这个方法是一次性的,即使方法签名不包含参数。一旦方法
arguments
或
set_exception
一直叫,在同一
ServerRequest
对象调用
arguments
将导致
BAD_INV_ORDER
系统异常。DIR必须传递的方法
arguments
一nvlist TypeCodes和描述操作的参数类型标志初始化,在它们出现在IDL规范的顺序(从左至右)。一个潜在的不同的nvlist将返回
arguments
,与“在”和“输入”参数提供的值。如果不调用方法
set_exception
,DIR必须提供返回的nvlist与任何“出”的争论在返回的返回值,也可以改变返回值的任何“输入”的争论。
args
-方法的参数,在一个nvlist形式
CORBA
package comments for unimplemented features
@Deprecated public void result(Any any)
set_result
注意,这个方法已经过时了;在其所使用的方法set_result
。
除非方法set_exception
被调用,如果调用的方法有一个非空结果类型,方法set_result
必须调用一次在Dir返回。如果操作有一个无效的结果类型,该方法set_result
可任选一Any
对象的类型是tk_void
曾经称。调用方法set_result
方法之前,arguments
被称为或的方法后,set_result
或set_exception
被称为将导致bad_inv_order例外。调用方法set_result
没有以前所谓的方法ctx
当IDL操作包含一个语境的表达,或当nvlist传递参数并没有描述所有参数由客户通过,可能会导致一个元帅系统异常。
any
含有返回值被设置
Any
对象
public void set_result(Any any)
org.omg.CORBA.NO_IMPLEMENT
例外。
指定调用的任何返回值。除非方法set_exception
被调用,如果调用的方法有一个非空结果类型,方法set_result
必须调用一次在Dir返回。如果操作有一个无效的结果类型,该方法set_result
可任选一Any
对象的类型是tk_void
曾经称。调用方法set_result
方法之前,arguments
被称为或的方法后,set_result
或set_exception
被称为将导致bad_inv_order例外。调用方法set_result
没有以前所谓的方法ctx
当IDL操作包含一个语境的表达,或当nvlist传递参数并没有描述所有参数由客户通过,可能会导致一个元帅系统异常。
any
含有返回值被设置
Any
对象
CORBA
package comments for unimplemented features
@Deprecated public void except(Any any)
any
含有异常的
Any
对象
public void set_exception(Any any)
org.omg.CORBA.NO_IMPLEMENT
例外。
将给定的异常返回给客户端。这种方法是通过直接调用,可随时调用它。的Any
对象传递给此方法必须包含一个系统中的一个例外或调用的操作的IDL定义指定的用户异常。经过一个Any
对象不包含一个异常将导致一个异常被抛出bad_param系统。通过在一家未上市的用户异常将导致直接接收bad_param系统异常或在客户端接收unknown_exception系统异常。
any
含有异常的
Any
对象
BAD_PARAM
-如果给定的
Any
对象不包含异常或异常是一家非上市的用户异常
UNKNOWN_EXCEPTION
如果给定异常是一家非上市的用户异常和目录没有收到bad_param例外
CORBA
package comments for unimplemented features
public abstract Context ctx()
Context
参考。调用方法之前
arguments
ctx
方法被称为法
ctx
,
set_result
或后,或
set_exception
被称为将导致bad_inv_order系统异常。
BAD_INV_ORDER
如果(1)的方法
ctx
在方法
arguments
称或(2)的方法
ctx
叫
set_result
或
set_exception
后调用
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.