public abstract class ServerRequest extends Object
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に指定されたコンテキスト情報を返します。そうでない場合は、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パッケージに実装されていない機能についてのコメント@Deprecated 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パッケージに実装されていない機能についてのコメント@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オブジェクト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パッケージに実装されていない機能についてのコメント@Deprecated 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が呼び出される場合 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。