|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Object | +--org.omg.CORBA.Context
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 オブジェクトは、開始検索範囲を指定する目的で名付けることができます。
| コンストラクタの概要 | |
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 つ以上のプロパティ値を設定します。 |
| クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| コンストラクタの詳細 |
public Context()
| メソッドの詳細 |
public abstract String context_name()
Context オブジェクトの名前を取得します。Context オブジェクトの名前public abstract Context parent()
Context オブジェクトの親を取得します。Context オブジェクトの親である Context オブジェクトpublic abstract Context create_child(String child_ctx_name)
Context オブジェクトを親とする Context オブジェクトを生成します。
新しい Context オブジェクトは、その親である Context オブジェクトに連鎖されます。つまり、一致するプロパティ名の検索で、一致するプロパティ名がこのコンテキストで見つからない場合、その親で検索が継続されます。親でも一致するプロパティ名が見つからない場合は、さらにその親 (存在する場合) へと、検索は次々に継続されます。
child_ctx_name - 新しい Context オブジェクトの名前として設定される String オブジェクトContext オブジェクト
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 に設定されなければならない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 - プロパティ名、およびそれに関連する設定値を格納する NVListNamedValue,
Anypublic abstract void delete_values(String propname)
name フィールドが、指定されたプロパティ名と一致する NamedValue オブジェクトを、この Context オブジェクトから削除します。propname に指定された String オブジェクトの末尾にワイルドカード文字 (*) がある場合、name フィールドが一致するすべての NamedValue オブジェクトが削除されます。検索範囲は、常にこの Context オブジェクトに制限されます。
一致するプロパティが見つからない場合は、例外が返されます。
propname - 削除されるプロパティの名前
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 オブジェクトの形式) を格納している NVListNamedValue
|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.