Class HttpLanguageAttribute
java.lang.Object
nablarch.common.handler.threadcontext.LanguageAttribute
nablarch.common.web.handler.threadcontext.HttpLanguageAttribute
- All Implemented Interfaces:
ThreadContextAttribute<Request<?>>
- Direct Known Subclasses:
LanguageAttributeInHttpSupport
スレッドコンテキストに保持する言語属性をHTTPヘッダ(Accept-Language)から取得するクラス。
- Author:
- Kiyohito Itoh
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected String
"Accept-Language"ヘッダをパースし、一番優先度が高いサポート対象の言語を返す。protected Locale
getLocale
(HttpRequest req, ServletExecutionContext ctx) スレッドコンテキストに保持する言語属性を返す。getValue
(Request<?> req, ExecutionContext ctx) コンテキストスレッドに格納するこのプロパティの値を返す。protected boolean
isSupportedLanguage
(String language) サポート対象の言語か否かを判定する。void
setSupportedLanguages
(String... supportedLanguages) サポート対象の言語を設定する。Methods inherited from class nablarch.common.handler.threadcontext.LanguageAttribute
getKey, setDefaultLanguage
-
Constructor Details
-
HttpLanguageAttribute
public HttpLanguageAttribute()
-
-
Method Details
-
setSupportedLanguages
サポート対象の言語を設定する。- Parameters:
supportedLanguages
- サポート対象の言語
-
getValue
コンテキストスレッドに格納するこのプロパティの値を返す。getLocale(HttpRequest, ServletExecutionContext)
に処理を委譲する。- Specified by:
getValue
in interfaceThreadContextAttribute<Request<?>>
- Overrides:
getValue
in classLanguageAttribute
- Parameters:
req
- リクエストctx
- 実行コンテキスト- Returns:
- サポート対象の言語
-
getLocale
スレッドコンテキストに保持する言語属性を返す。このクラスの実装では以下の処理を行う。 1.Accept-Languageヘッダから言語の取得を試みる。 (
getAcceptLanguage(HttpRequest, ServletExecutionContext)
) サポート対象の言語が取得できた場合は取得できた言語を返す。 サポート対象の言語が取得できない場合は2.に進む。 2.デフォルトの言語を返す。 (LanguageAttribute.getValue(Request, ExecutionContext)
)- Parameters:
req
- リクエストctx
- 実行コンテキスト- Returns:
- サポート対象の言語
-
getAcceptLanguage
"Accept-Language"ヘッダをパースし、一番優先度が高いサポート対象の言語を返す。- Parameters:
req
- リクエストctx
- 実行コンテキスト- Returns:
- サポート対象の言語。サポート対象の言語が取得できない場合はnull。
-
isSupportedLanguage
サポート対象の言語か否かを判定する。- Parameters:
language
- 言語- Returns:
- サポート対象の言語の場合はtrue
-