|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--org.omg.CORBA.ServerRequest
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)
|
void |
set_result(Any any)
|
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
public ServerRequest()
メソッドの詳細 |
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
パッケージに実装されていない機能についてのコメントpublic void params(NVList params)
arguments
メソッドを使用する
このメソッドは推奨されません。代わりに 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
オブジェクトの形式)public void arguments(NVList args)
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
パッケージに実装されていない機能についてのコメント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
オブジェクト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
パッケージに実装されていない機能についてのコメント
public void except(Any any)
any
- 例外を含む Any
オブジェクト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
パッケージに実装されていない機能についてのコメント
public abstract Context ctx()
Context
参照を返します。arguments
メソッドの呼び出し前、あるいは ctx
、set_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 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
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.