- java.lang.Object
-
- org.omg.CORBA.Context
-
public abstract class Context extends Object
Request
オペレーションで、この呼び出しとともに送出される前にコンテキスト文字列を解決する必要のあるコンテキスト・オブジェクトの指定で使用されるオブジェクトです。解決されたコンテキスト文字列は、リクエストの呼び出しとともに送られます。Context
オブジェクトは、NamedValue
オブジェクトの形式でプロパティのリストを格納します。 それらのプロパティは、クライアント、環境、または要求の状況についての情報を表すもので、通常、パラメータとして渡すのが難しいプロパティです。Context
オブジェクトは、まずORB
メソッドのget_default_context
を呼び出し、次にデフォルトのコンテキストでcreate_child
メソッドを呼び出すことによって作成されます。Context
オブジェクトの各プロパティは、NamedValue
オブジェクトによって表されます。 プロパティ名はNamedValue
オブジェクトのname
フィールドに格納され、その名前に関連した値はNamedValue
オブジェクトのvalue
フィールドに割り当てられたAny
オブジェクトに格納されます。Context
のプロパティは、サーバーの環境に送られる(および暗黙的にその一部となる)クライアントまたはアプリケーションの環境の一部を表すことができます。 (ウィンドウ識別子やユーザー設定情報など)。 サーバーが呼び出されると(つまりプロパティが送られたあと)、サーバーはget_values
メソッドを使用して、そのContext
オブジェクトにそのプロパティについて問い合わせることができます。オペレーションの宣言にcontext節が定義されている場合、スタブおよびスケルトンはそのコンテキスト用として付加的な引数を持ちます。 オペレーションの呼出しが発生すると、ORBはIDLのオペレーション定義で名付けられて、クライアントの
Context
オブジェクトにあるプロパティが、呼び出されたメソッドへのContext
オブジェクト・パラメータで提供されるようにします。Context
プロパティ名(文字列)は、通常、OMG IDL識別子またはピリオドで区切られた一連のOMG IDL識別子の形式となります。 コンテキスト・プロパティ名のパターンは、プロパティ名、または1つの「*」が末尾に付くプロパティ名のどちらかです。 末尾に「*」が付かないプロパティ名パターンは、そのプロパティ名自体の文字列とだけ一致します。 「<名前>*」形式のプロパティ名のパターンは、<名前>で始まり0以上の文字が続くどのプロパティ名とも一致します。プロパティ名のパターンは、オペレーション定義のcontext節で、または
Context.get_values
メソッドのパラメータとして使用されます。Context
オブジェクトは、特定のデフォルトの動作を行うためにお互いに連鎖させることができます。create_child
メソッドで作成されたContext
オブジェクトは、その親(それを作成したContext
オブジェクト)に連鎖されます。つまりその親は、プロパティ名の検索で子の後に検索されます。ある
Context
オブジェクトで定義されたプロパティは、その1つ上のレベルで定義されたそのプロパティをオーバーライドします。 プロパティの検索で使用される範囲は、get_values
メソッドを呼び出すときに開始範囲を指定し、CTX_RESTRICT_SCOPE
フラグを使用することにより制限できます。Context
オブジェクトは、開始検索範囲を指定する目的で名付けることができます。- 導入されたバージョン:
- JDK1.2
-
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 Context()
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 抽象メソッド 修飾子と型 メソッド 説明 abstract String
context_name()
このContext
オブジェクトの名前を取得します。abstract Context
create_child(String child_ctx_name)
文字列で名前を指定して、このContext
オブジェクトを親とするContext
オブジェクトを生成します。abstract void
delete_values(String propname)
name
フィールドが、指定されたプロパティ名と一致するNamedValue
オブジェクトを、このContext
オブジェクトから削除します。abstract NVList
get_values(String start_scope, int op_flags, String pattern)
name
フィールドが、指定された名前、または指定された名前パターンと一致するNamedValue
オブジェクトを取得します。abstract Context
parent()
このContext
オブジェクトの親を取得します。abstract void
set_one_value(String propname, Any propvalue)
NamedValue
オブジェクトを生成し、そのオブジェクトをこのContext
オブジェクトに追加します。abstract void
set_values(NVList values)
このContext
オブジェクトの1つ以上のプロパティ値を設定します。
-
-
-
メソッドの詳細
-
context_name
public abstract String context_name()
このContext
オブジェクトの名前を取得します。- 戻り値:
- この
Context
オブジェクトの名前
-
parent
public abstract Context parent()
このContext
オブジェクトの親を取得します。- 戻り値:
- この
Context
オブジェクトの親であるContext
オブジェクト
-
create_child
public abstract Context create_child(String child_ctx_name)
文字列で名前を指定して、このContext
オブジェクトを親とするContext
オブジェクトを生成します。新しい
Context
オブジェクトは、その親であるContext
オブジェクトに連鎖されます。 つまり、一致するプロパティ名の検索で、一致するプロパティ名がこのコンテキストで見つからない場合、その親で検索が継続されます。 親でも一致するプロパティ名が見つからない場合は、さらにその親(存在する場合)へと、検索は次々に継続されます。- パラメータ:
child_ctx_name
- 新しいContext
オブジェクトの名前として設定されるString
オブジェクト- 戻り値:
- 指定された名前で初期化された、新しく作成された子である
Context
オブジェクト
-
set_one_value
public abstract void set_one_value(String propname, Any propvalue)
NamedValue
オブジェクトを生成し、そのオブジェクトをこのContext
オブジェクトに追加します。 新しいNamedValue
オブジェクトのname
フィールドは、指定された文字列に設定され、value
フィールドは、指定されたAny
オブジェクトに設定され、flags
フィールドは0に設定されます。- パラメータ:
propname
- 設定するプロパティの名前propvalue
- プロパティの値が設定されるAny
オブジェクト。 このAny
オブジェクトのvalue
フィールドは、指定されたpropnameと関連する値を格納する。kind
フィールドはTCKind.tk_string
に設定する必要がある。
-
set_values
public abstract void set_values(NVList values)
このContext
オブジェクトの1つ以上のプロパティ値を設定します。 このメソッドに指定されたNVList
は、1つ以上のNamedValue
オブジェクトを格納します。 各NamedValue
オブジェクトでは、name
フィールドはプロパティ名を持ち、flags
フィールドは0に設定されます。NamedValue
オブジェクトのvalue
フィールドはAny
オブジェクトを格納し、そのAnyオブジェクトはプロパティの値を格納します。 値は常に文字列であるため、Any
オブジェクトでは、そのTypeCode
のkind
フィールドをTCKind.tk_string
に設定する必要があります。- パラメータ:
values
- プロパティ名、およびそれに関連する設定値を格納するNVList- 関連項目:
get_values(java.lang.String, int, java.lang.String)
,NamedValue
,Any
-
delete_values
public abstract void delete_values(String propname)
name
フィールドが、指定されたプロパティ名と一致するNamedValue
オブジェクトを、このContext
オブジェクトから削除します。propname
に指定されたString
オブジェクトの末尾にワイルドカード文字(*)がある場合、name
フィールドが一致するすべてのNamedValue
オブジェクトが削除されます。 検索範囲は、常にこのContext
オブジェクトに制限されます。一致するプロパティが見つからない場合は、例外が返されます。
- パラメータ:
propname
- 削除されるプロパティの名前
-
get_values
public abstract NVList get_values(String start_scope, int op_flags, String pattern)
name
フィールドが、指定された名前、または指定された名前パターンと一致するNamedValue
オブジェクトを取得します。 このメソッドでは、ワイルドカード検索が行えます。つまり、一致するプロパティが複数ある場合は、複数の値が返されます。 プロパティが指定されたレベルで見つからない場合、一致するプロパティが見つかるまで、あるいは連鎖内のすべてのContext
オブジェクトが検索されるまで、コンテキスト・オブジェクト・ツリーの上方向に検索が続けられます。一致するプロパティが見つからない場合は、エラーが返され、プロパティ・リストは返されません。
- パラメータ:
start_scope
- 指定されたプロパティの検索を開始するコンテキスト・オブジェクト・レベルを示すString
オブジェクト(_USER、_GROUP、_SYSTEMなど)。 有効な範囲名は実装に固有。 範囲名が省略されると、検索は指定されたコンテキスト・オブジェクトで開始される。 指定された範囲名が見つからない場合は、例外が返される。op_flags
- オペレーション・フラグ。 指定できる唯一のフラグはCTX_RESTRICT_SCOPE
。 このフラグが指定されると、検索は指定されたstart_scope
、すなわち、このContext
オブジェクトに制限される。pattern
- 値が取得されるプロパティ名。pattern
は名前、または末尾にワイルドカード文字("*")を含む名前。- 戻り値:
- 対応するプロパティ名が、指定された名前、または指定された名前パターンと一致するすべてのプロパティ値(
NamedValue
オブジェクトの形式)を格納しているNVList
- 関連項目:
set_values(org.omg.CORBA.NVList)
,NamedValue
-
-