JavaTM Platform
Standard Ed. 6

org.omg.CORBA
クラス Context

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 つ以上のプロパティー値を設定します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

Context

public Context()
メソッドの詳細

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 オブジェクトでは、その TypeCodekind フィールドを 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

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。