- 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
オブジェクトを受け取ります。 abstractクラス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に指定されたコンテキスト情報を返します。そうでない場合は、nilContext
参照を返します。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
例外をスローします。
-
-
-
メソッドの詳細
-
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はメソッドのシグネチャにパラメータが含まれなくても、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
@Deprecated 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
@Deprecated public void except(Any any)
非推奨。set_exception()を使用してくださいDIRはいつでもset_exceptionを呼び出してクライアントに例外を返すことができます。 set_exceptionに渡されるAnyには、システム例外または呼び出される操作のIDL定義の発生式に指定されたユーザー例外を含める必要があります。 例外が指定されていないAnyを渡すと、BAD_PARAMシステム例外がスローされます。 リストされていないユーザー例外を渡すと、DIRがBAD_PARAMシステム例外を受け取るか、またはクライアントがUNKNOWNシステム例外を受け取ることになります。- パラメータ:
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システム例外を受け取ることになります。- パラメータ:
any
- 例外を含むAny
オブジェクト- 例外:
BAD_PARAM
- 指定されたAny
オブジェクトに例外が含まれない、または例外が、リストされていないユーザー例外である場合UNKNOWN
- 指定された例外がリストにないユーザー例外であり、DIRがBAD_PARAM例外を受け取らなかった場合- 関連項目:
CORBA
パッケージに実装されていない機能についてのコメント
-
ctx
public abstract Context ctx()
操作が属性アクセスでなく操作のIDL定義にコンテキスト式が指定されている場合は、操作のIDLに指定されたコンテキスト情報を返します。そうでない場合は、nilContext
参照を返します。arguments
メソッドが呼び出される前、あるいはctx
、set_result
またはset_exception
メソッドが呼び出された後にctx
メソッドを呼び出すと、BAD_INV_ORDERシステム例外がスローされます。- 戻り値:
- 呼出しで値を渡す必要のある任意のコンテキスト文字列の解決で使用するContextオブジェクト。
- 例外:
BAD_INV_ORDER
- (1)arguments
メソッドの前にctx
メソッドが呼び出されるか、(2)set_result
またはset_exception
の呼出し後にctx
が呼び出される場合
-
-