Class LanguageAttributeInHttpSupport
java.lang.Object
nablarch.common.handler.threadcontext.LanguageAttribute
nablarch.common.web.handler.threadcontext.HttpLanguageAttribute
nablarch.common.web.handler.threadcontext.LanguageAttributeInHttpSupport
- All Implemented Interfaces:
ThreadContextAttribute<Request<?>>
- Direct Known Subclasses:
LanguageAttributeInHttpCookie
,LanguageAttributeInHttpSession
@Published(tag="architect")
public abstract class LanguageAttributeInHttpSupport
extends HttpLanguageAttribute
HTTP上で言語の保持を行うクラスの実装をサポートするクラス。
- Author:
- Kiyohito Itoh
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected abstract String
保持している言語を取得する。protected Locale
getLocale
(HttpRequest req, ServletExecutionContext ctx) スレッドコンテキストに保持する言語属性を返す。protected abstract void
keepLanguage
(HttpRequest req, ServletExecutionContext ctx, String language) ユーザが選択した言語を保持する。Methods inherited from class nablarch.common.web.handler.threadcontext.HttpLanguageAttribute
getAcceptLanguage, getValue, isSupportedLanguage, setSupportedLanguages
Methods inherited from class nablarch.common.handler.threadcontext.LanguageAttribute
getKey, setDefaultLanguage
-
Constructor Details
-
LanguageAttributeInHttpSupport
public LanguageAttributeInHttpSupport()
-
-
Method Details
-
getLocale
スレッドコンテキストに保持する言語属性を返す。このクラスの実装では、以下の処理を行う。 1. 保持している言語の取得を試みる。(
getKeepingLanguage(HttpRequest, ServletExecutionContext)
) サポート対象の言語が取得できた場合は、取得できた言語を返す。 サポート対象の言語が取得できない場合は2.に進む。 2. Accept-Languageヘッダから言語の取得を試みる。(getAcceptLanguage(HttpRequest, ServletExecutionContext)) サポート対象の言語が取得できた場合は、取得できた言語を返す。 サポート対象の言語が取得できない場合は3.に進む。 3.デフォルトの言語を返す。(nablarch.common.handler.threadcontext.LanguageAttribute#getValue(nablarch.fw.Request, nablarch.fw.ExecutionContext))- Overrides:
getLocale
in classHttpLanguageAttribute
- Parameters:
req
- リクエストctx
- 実行コンテキスト- Returns:
- サポート対象の言語
-
keepLanguage
ユーザが選択した言語を保持する。- Parameters:
req
- リクエストctx
- 実行コンテキストlanguage
- ユーザが選択した言語
-
getKeepingLanguage
保持している言語を取得する。- Parameters:
req
- リクエストctx
- 実行コンテキスト- Returns:
- 言語。保持していない場合はnull
-