JavaTM 2
Platform
Std. Ed. v1.4.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) に送られます。動的サーバント (DIR) は DynamicImplementation クラスを実装することにより作成され、1 つの invoke メソッドを持ちます。このメソッドは ServerRequest オブジェクトを受け取ります。抽象クラス ServerRequest により、メソッド名、引数、および要求コンテキストにアクセスするメソッド、および要求の結果を戻り値または例外として設定するメソッドが定義されます。

要求の引数にアクセスする際、引数に関するまとまった情報が存在しないため、予期される引数の型情報を DIR が提供する必要があります。この情報は NamedValue オブジェクトのリストである NVList により提供されます。各 NamedValue オブジェクトには Any オブジェクトが含まれ、Any オブジェクトが引数の型を表す TypeCode オブジェクトを保持します。

同様に、予期される結果または例外用に応答の型情報を指定する必要があるため、result および except メソッドがパラメータとして Any オブジェクトを取ります。

関連項目:
DynamicImplementation, NVList, NamedValue

コンストラクタの概要
ServerRequest()
           
 
メソッドの概要
 void arguments(NVList args)
          メソッドのパラメータ型を指定して in および inout 引数値を取得します。
abstract  Context ctx()
          オペレーションが属性アクセスでなくオペレーションの IDL 定義にコンテキスト式が指定されている場合は、オペレーションの IDL に指定されたコンテキスト情報を返します。
 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

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

public void params(NVList params)
推奨されていません。 arguments メソッドを使用する

メソッドのパラメータ型を指定して、in および inout 引数の値を取得します。

このメソッドは推奨されません。代わりに arguments メソッドを使用してください。

set_exception メソッドが呼び出されない場合、DIR はメソッドのシグニチャーにパラメータがなくても 1 度だけこのメソッドを呼び出す必要があります。 arguments または set_exception メソッドが呼び出された場合、同じ ServerRequest オブジェクトで arguments を呼び出すと BAD_INV_ORDER システム例外となります。DIR は、オペレーションのパラメータ型を説明する TypeCode と Flag で初期化された NVList を、IDL 仕様で指定されている順序 (左から右) で arguments メソッドに渡す必要があります。潜在的に異なる NVList が、指定された in および inout 引数値を使用して arguments から返されます。set_exception メソッドを呼び出さない場合、DIR は、復帰前に、返される NVList にすべての out 引数の戻り値を指定する必要があります。また、すべての inout 引数の戻り値を変更する場合もあります。

パラメータ:
params - メソッドの引数 (NVList オブジェクトの形式)

arguments

public void arguments(NVList args)
メソッドのパラメータ型を指定して in および inout 引数値を取得します。set_exception メソッドが呼び出されない場合、DIR はメソッドのシグニチャーにパラメータが含まれなくても 1 度だけこのメソッドを呼び出す必要があります。 arguments または set_exception メソッドが呼び出された場合、同じ ServerRequest オブジェクトに対して arguments を呼び出すと BAD_INV_ORDER システム例外がスローされます。DIR は、オペレーションのパラメータ型を説明する TypeCode と Flag で初期化された NVList を、IDL 仕様で指定された順序 (左から右) で arguments メソッドに渡す必要があります。潜在的に異なる NVList が、指定された in および inout 引数値を使用して arguments から返されます。set_exception メソッドが呼び出されない場合、DIR は、復帰前に、返される NVList にすべての out 引数の戻り値を指定する必要があります。また、すべての inout 引数の戻り値を変更する場合もあります。

パラメータ:
args - メソッドの引数 (NVList の形式)
関連項目:
CORBA パッケージに実装されていない機能についてのコメント

result

public void result(Any any)
推奨されていません。 set_result メソッドを使用する

呼び出しの任意の戻り値を指定します。

このメソッドは推奨されません。代わりに set_result メソッドを使用してください。

set_exception メソッドが呼び出されず、呼び出されたメソッドの結果型が void 以外の場合、DIR の復帰前に set_result メソッドを 1 度だけ呼び出す必要があります。オペレーションの結果型が void の場合、必要に応じて、tk_void 型の Any オブジェクトを使用して set_result メソッドを 1 度呼び出すことができます。arguments メソッドが呼び出される前、あるいは set_result または set_exception メソッドが呼び出された後に set_result メソッドを呼び出すと、BAD_INV_ORDER 例外がスローされます。IDL オペレーションにコンテキスト式が含まれるか、引数に渡された NVList にクライアントから渡されたすべてのパラメータが記述されない場合、それ以前に ctx メソッドを呼び出さないで set_result メソッドを呼び出すと、MARSHAL システム例外がスローされる場合があります。

パラメータ:
any - 設定する戻り値を含む Any オブジェクト

set_result

public void set_result(Any any)
org.omg.CORBA.NO_IMPLEMENT 例外をスローします。

呼び出しの任意の戻り値を指定します。set_exception メソッドが呼び出されず、呼び出されたメソッドの結果型が void 以外の場合、DIR の復帰前に set_result メソッドを 1 度だけ呼び出す必要があります。オペレーションの結果型が void の場合、必要に応じて、tk_void 型の Any オブジェクトを使用して、set_result メソッドを 1 度呼び出すことができます。arguments メソッドが呼び出される前、あるいは set_result または set_exception メソッドが呼び出された後に set_result メソッドを呼び出すと、BAD_INV_ORDER 例外がスローされます。IDL オペレーションにコンテキスト式が含まれるか、引数に渡された NVList にクライアントから渡されたすべてのパラメータが記述されない場合、それ以前に ctx メソッドを呼び出さないで set_result メソッドを呼び出すと、MARSHAL システム例外がスローされる場合があります。

パラメータ:
any - 設定する戻り値を含む Any オブジェクト
関連項目:
CORBA パッケージに実装されていない機能についてのコメント

except

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 メソッドの呼び出し前、あるいは ctxset_result、または set_exception メソッドの呼び出し後に ctx メソッドを呼び出すと、BAD_INV_ORDER システム例外がスローされます。

戻り値:
呼び出しで値を渡す必要のある任意のコンテキスト文字列の解決で使用するコンテキストオブジェクト
例外:
BAD_INV_ORDER - (1) arguments メソッドの前に ctx メソッドが呼び出されるか、(2) set_result または set_exception の呼び出し後に ctx が呼び出される場合

JavaTM 2
Platform
Std. Ed. v1.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.