このタスクを実行して、呼び出し元国際化対応コンテキストのエレメントにアクセスします。
このタスクについて
アプリケーション・コンポーネントのリモート起動ごとに、関連する呼び出し元の国際化対応コンテキストが、その起動を実行しているスレッドに関連付けられています。
呼び出し元コンテキストは、国際化対応サービスおよびミドルウェアによって、
Enterprise JavaBeans (EJB) ビジネス・メソッドやサーブレット・サービス・メソッドなどの、
要求の宛先に伝搬されます。
このタスクは、Web サービス・クライアント・プログラムにも適用されます。
手順
- 必要な呼び出し元コンテキスト・エレメントを取得します。
java.util.Locale [] myLocales = null;
try {
myLocales = callerI18n.getLocales();
}
catch (IllegalStateException ise) {
// The Caller context is unavailable;
// is the service started and enabled?
}
...
Internationalization インターフェースには、呼び出し元の国際化対応コンテキスト・エレメントを取得するために以下のメソッドが含まれます。
- Locale [] getLocales()。現行スレッドに関連付けられた呼び出し元ロケールのリストを戻します。
- Locale getLocale()。現行スレッドに関連付けられた呼び出し元ロケールのリスト内の最初のロケールを戻します。
- TimeZone getTimeZone()。現行スレッドに関連付けられた呼び出し元の SimpleTimeZone を戻します。
Internationalization インターフェースは、アプリケーション・コンポーネント内の国際化対応コンテキストへの読み取り専用アクセスをサポートしています。
Internationalization インターフェースのメソッドは、すべての EJB アプリケーション・コンポーネントが使用でき、それぞれ同じように使用されますが、メソッドのセマンティクスはコンポーネントのタイプによって異なります。例えば、
EJB クライアント・アプリケーション内で呼び出し元ロケールを取得する場合、
このインターフェースはホストの Java™ 仮想マシン (JVM) のデフォルト・ロケールを戻します。
これに対し、サーブレットのサービス・メソッド (doPost メソッドや doGet メソッドなど) 内で呼び出し元コンテキストを取得する場合、
このインターフェースは、対応する HTML 要求内で伝搬された最初のロケール (承認済み言語) を戻します。
アプリケーション全体に対してサービスが国際化対応コンテキストを伝搬する方法についての詳細は、国際化対応コンテキストを参照してください。
- 呼び出し元コンテキスト・エレメントを使用して、
呼び出しプロセスのロケールまたは時間帯の下で計算のローカライズを行います。
DateFormat df = DateFormat.getDateInstance(myLocale);
String localizedDate = df.getDateInstance().format(aDateInstance);
...