java.applet

java.awt

java.awt.color

java.awt.datatransfer

java.awt.dnd

java.awt.event

java.awt.font

java.awt.geom

java.awt.im

java.awt.im.spi

java.awt.image

java.awt.image.renderable

java.awt.print

java.beans

java.beans.beancontext

java.io

java.lang

java.lang.annotation

java.lang.instrument

java.lang.management

java.lang.ref

java.lang.reflect

java.math

java.net

java.nio

java.nio.channels

java.nio.channels.spi

java.nio.charset

java.nio.charset.spi

java.rmi

java.rmi.activation

java.rmi.dgc

java.rmi.registry

java.rmi.server

java.security

java.security.acl

java.security.cert

java.security.interfaces

java.security.spec

java.sql

java.text

java.util

java.util.concurrent

java.util.concurrent.atomic

java.util.concurrent.locks

java.util.jar

java.util.logging

java.util.prefs

java.util.regex

java.util.zip

javax.accessibility

javax.activity

javax.crypto

javax.crypto.interfaces

javax.crypto.spec

javax.imageio

javax.imageio.event

javax.imageio.metadata

javax.imageio.plugins.bmp

javax.imageio.plugins.jpeg

javax.imageio.spi

javax.imageio.stream

javax.management

javax.management.loading

javax.management.modelmbean

javax.management.monitor

javax.management.openmbean

javax.management.relation

javax.management.remote

javax.management.remote.rmi

javax.management.timer

javax.naming

javax.naming.directory

javax.naming.event

javax.naming.ldap

javax.naming.spi

javax.net

javax.net.ssl

javax.print

javax.print.attribute

javax.print.attribute.standard

javax.print.event

javax.rmi

javax.rmi.CORBA

javax.rmi.ssl

javax.security.auth

javax.security.auth.callback

javax.security.auth.kerberos

javax.security.auth.login

javax.security.auth.spi

javax.security.auth.x500

javax.security.cert

javax.security.sasl

javax.sound.midi

javax.sound.midi.spi

javax.sound.sampled

javax.sound.sampled.spi

javax.sql

javax.sql.rowset

javax.sql.rowset.serial

javax.sql.rowset.spi

javax.swing

javax.swing.border

javax.swing.colorchooser

javax.swing.event

javax.swing.filechooser

javax.swing.plaf

javax.swing.plaf.basic

javax.swing.plaf.metal

javax.swing.plaf.multi

javax.swing.plaf.synth

javax.swing.table

javax.swing.text

javax.swing.text

javax.swing.text.parser

javax.swing.text.rtf

javax.swing.tree

javax.swing.undo

javax.transaction

javax.transaction.xa

javax.xml

javax.xml.datatype

javax.xml.namespace

javax.xml.parsers

javax.xml.transform

javax.xml.transform.dom

javax.xml.transform.sax

javax.xml.transform.stream

javax.xml.validation

javax.xml.xpath

org.ietf.jgss

org.omg.CORBA

org.omg.CORBA_2_3

org.omg.CORBA_2_3.portable

org.omg.CORBA.DynAnyPackage

org.omg.CORBA.ORBPackage

org.omg.CORBA.portable

org.omg.CORBA.TypeCodePackage

org.omg.CosNaming

org.omg.CosNaming.NamingContextExtPackage

org.omg.CosNaming.NamingContextPackage

org.omg.Dynamic

org.omg.DynamicAny

org.omg.DynamicAny.DynAnyFactoryPackage

org.omg.DynamicAny.DynAnyPackage

org.omg.IOP

org.omg.IOP.CodecFactoryPackage

org.omg.IOP.CodecPackage

org.omg.Messaging

org.omg.PortableInterceptor

org.omg.PortableInterceptor.ORBInitInfoPackage

org.omg.PortableServer

org.omg.PortableServer.CurrentPackage

org.omg.PortableServer.POAManagerPackage

org.omg.PortableServer.POAPackage

org.omg.PortableServer.portable

org.omg.PortableServer.ServantLocatorPackage

org.omg.SendingContext

org.omg.stub.java.rmi

org.w3c.dom

org.w3c.dom.bootstrap

org.w3c.dom.events

org.w3c.dom.ls

org.xml.sax

org.xml.sax.ext

org.xml.sax.helpers

allclasses-frame

allclasses-noframe

constant-values

deprecated-list

help-doc

JavaTM 2 Platform
Standard Ed. 5.0

org.omg.CORBA
类 ServerRequest

java.lang.Object
  继承者 org.omg.CORBA.ServerRequest

public abstract class ServerRequest
extends Object

捕获对动态框架接口(Dynamic Skeleton Interface,DSI)请求的显式状态的对象。此类是 DSI 的基础,类似于 DII 中的 Request 对象。

ORB 负责创建具体的请求,并将它传递给动态实现例程(Dynamic Implementation Routine,DIR)。动态 servant(一个 DIR)是通过实现 DynamicImplementation 类创建的,该类有一个 invoke 方法。此方法接受 ServerRequest 对象。 抽象类 ServerRequest 定义了一些方法,用来访问请求的方法名称、参数和上下文,以及将该请求的结果设置为返回值或异常。

访问该请求参数的一个微妙之处在于:DIR 需要提供有关所期望参数的类型信息,因为没有关于这些类型的已编译信息。此信息是通过 NVList 提供的,NVList 是 NamedValue 对象列表。每个 NamedValue 对象都包含一个 Any 对象,每个 Any 对象都有一个表示参数类型的 TypeCode 对象。

类似地,还需要为响应、所期望的结果或异常提供类型信息,因此方法 resultexcept 使用 Any 对象作为参数。

另请参见:
DynamicImplementation, NVList, NamedValue

构造方法摘要
ServerRequest()
           
 
方法摘要
 void arguments(NVList args)
          指定方法参数类型并检索 "in" 和 "inout" 参数值。
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 异常。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

ServerRequest

public ServerRequest()
方法详细信息

op_name

@Deprecated
public String op_name()
已过时。 使用 operation()

检索将被调用的操作的名称。根据 OMG IDL 的规则,这些名称在此对象的“最终派生”接口所支持的所有操作中必须是唯一的。注意,用来获取和设置属性的操作名称分别是 _get_<attribute_name>_set_<attribute_name>

返回:
要调用的操作的名称

operation

public String operation()
抛出一个 org.omg.CORBA.NO_IMPLEMENT 异常。

检索将被调用的操作的名称。根据 OMG IDL 的规则,这些名称在此对象的“最终派生”接口所支持的所有操作中必须是唯一的。注意,用来获取和设置属性的操作名称分别是 _get_<attribute_name>_set_<attribute_name>

返回:
将被调用的操作的名称
另请参见:
CORBA 包中有关未实现特性的注释

params

@Deprecated
public void params(NVList params)
已过时。 使用方法 arguments

指定方法参数类型并检索 "in" 和 "inout" 参数值。

注意,此方法已过时,使用 arguments 方法替代它。

如果没有调用 set_exception 方法,则 DIR 必须调用此方法一次,即使该方法签名不包含任何参数。一旦已经调用 argumentsset_exception 方法,则对同一个 ServerRequest 对象调用 arguments 将导致 BAD_INV_ORDER 系统异常。DIR 必须向方法 arguments 传入使用 TypeCodes 初始化的 NVList 和描述该操作参数类型的 Flag,按照它们在 IDL 规范中出现的顺序(从左到右)传入。使用所提供的 "in" 和 "inout" 参数值,arguments 返回的 NVList 可能不同。如果没有调用 set_exception 方法,则返回前 DIR 必须提供所返回的 NVList,该列表带有用于任何 "out" 参数的返回值,DIR 还可以更改用于任何 "inout" 参数的返回值。

参数:
params - NVList 对象形式的方法参数

arguments

public void arguments(NVList args)
指定方法参数类型并检索 "in" 和 "inout" 参数值。如果没有调用 set_exception 方法,则 DIR 必须调用此方法一次,即使该方法签名不包含任何参数。一旦已经调用 argumentsset_exception 方法,则对同一个 ServerRequest 对象调用 arguments 将导致 BAD_INV_ORDER 系统异常。DIR 必须向方法 arguments 传入使用 TypeCodes 初始化的 NVList 和描述该操作参数类型的 Flag,按照它们在 IDL 规范中出现的顺序(从左到右)传入。使用所提供的 "in" 和 "inout" 参数值,arguments 返回的 NVList 可能不同。如果没有调用 set_exception 方法,则返回前 DIR 必须提供所返回的 NVList,该列表带有用于任何 "out" 参数的返回值,DIR 还可以更改用于任何 "inout" 参数的返回值。

参数:
args - NVList 形式的方法参数
另请参见:
CORBA 包中有关未实现特性的注释

result

@Deprecated
public void result(Any any)
已过时。 使用方法 set_result

为调用指定任何返回值。

注意,不推荐使用此方法,建议使用 set_result 方法替代它。

如果没有调用 set_exception 方法,则在调用的方法有一个非 void 结果类型时,必须在 DIR 返回前调用 set_result 方法一次。如果该操作有一个 void 结果类型,则可以有选择地调用 set_result 方法一次,并使用类型为 tk_voidAny 对象作为参数。在调用 arguments 方法之前调用 set_result 方法,或者在调用 set_resultset_exception 方法之后调用该方法将导致 BAD_INV_ORDER 异常。当 IDL 操作包含一个上下文表达式,或者传递给 arguments 的 NVList 没有描述客户端传递的所有参数时,在调用 set_result 方法之前没有调用 ctx 方法将导致 MARSHAL 系统异常。

参数:
any - 包含将被设置的返回值的 Any 对象

set_result

public void set_result(Any any)
抛出一个 org.omg.CORBA.NO_IMPLEMENT 异常。

为调用指定任何返回值。如果没有调用 set_exception 方法,则在调用的方法有一个非 void 结果类型时,必须在 DIR 返回前调用 set_result 方法一次。如果该操作有一个 void 结果类型,则可以有选择地调用 set_result 方法一次,并使用类型为 tk_voidAny 对象作为参数。在调用 arguments 方法之前调用 set_result 方法,或者在调用 set_resultset_exception 方法之后调用该方法将导致 BAD_INV_ORDER 异常。当 IDL 操作包含一个上下文表达式,或者传递给参数的 NVList 没有描述客户端传递的所有参数时,调用 set_result 方法(没有首先调用 ctx 方法)将导致 MARSHAL 系统异常。

参数:
any - 包含将被设置的返回值的 Any 对象
另请参见:
CORBA 包中有关未实现特性的注释

except

@Deprecated
public void except(Any any)
已过时。 使用 set_exception()

DIR 可以随时调用 set_exception 向客户端返回异常。传递给 set_exception 的 Any 必须包含系统异常,或者所调用操作 IDL 定义的引发表达式中指定的用户异常。传入不包含任何异常的 Any 将导致 BAD_PARAM 系统异常。传入未列出的用户异常将导致 DIR 收到一个 BAD_PARAM 系统异常,或导致客户端收到一个 UNKNOWN_EXCEPTION 系统异常。

参数:
any - 包含异常的 Any 对象

set_exception

public void set_exception(Any any)
抛出一个 org.omg.CORBA.NO_IMPLEMENT 异常。

将给定异常返回给客户端。此方法由 DIR 随时调用。传递给此方法的 Any 对象必须包含一个系统异常,或者所调用操作 IDL 定义中指定的用户异常之一。传入不包含任何异常的 Any 对象将导致抛出 BAD_PARAM 系统异常。传入未列出的用户异常将导致 DIR 收到一个 BAD_PARAM 系统异常,或导致客户端收到一个 UNKNOWN_EXCEPTION 系统异常。

参数:
any - 包含异常的 Any 对象
抛出:
BAD_PARAM - 如果给定 Any 对象不包含异常,或者该异常是一个未列出的用户异常
UNKNOWN_EXCEPTION - 如果给定异常是一个未列出的用户异常,并且 DIR 没有收到 BAD_PARAM 异常
另请参见:
CORBA 包中有关未实现特性的注释

ctx

public abstract Context ctx()
当操作不是一个属性访问并且该操作的 IDL 定义中包含上下文表达式时,该操作返回用 IDL 指定的上下文信息;否则返回 nil Context 引用。在调用 arguments 方法之前调用 ctx 方法,或者在调用 ctxset_resultset_exception 方法之后调用该方法都将导致 BAD_INV_ORDER 系统异常。

返回:
Context 对象,将使用该对象来解析任何其值需要与调用一起发送的上下文字符串
抛出:
BAD_INV_ORDER - 如果 (1) 在调用 arguments 方法之前调用 ctx 方法或 (2) 在调用 set_resultset_exception 之后调用 ctx 方法

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策