public class HttpLanguageAttribute extends LanguageAttribute
Constructor and Description |
---|
HttpLanguageAttribute() |
Modifier and Type | Method and Description |
---|---|
protected java.lang.String |
getAcceptLanguage(HttpRequest req,
ServletExecutionContext ctx)
"Accept-Language"ヘッダをパースし、一番優先度が高いサポート対象の言語を返す。
|
protected java.util.Locale |
getLocale(HttpRequest req,
ServletExecutionContext ctx)
スレッドコンテキストに保持する言語属性を返す。
|
java.lang.Object |
getValue(Request<?> req,
ExecutionContext ctx)
コンテキストスレッドに格納するこのプロパティの値を返す。
getLocale(HttpRequest, ServletExecutionContext) に処理を委譲する。 |
protected boolean |
isSupportedLanguage(java.lang.String language)
サポート対象の言語か否かを判定する。
|
void |
setSupportedLanguages(java.lang.String... supportedLanguages)
サポート対象の言語を設定する。
|
getKey, setDefaultLanguage
public void setSupportedLanguages(java.lang.String... supportedLanguages)
supportedLanguages
- サポート対象の言語public java.lang.Object getValue(Request<?> req, ExecutionContext ctx)
getLocale(HttpRequest, ServletExecutionContext)
に処理を委譲する。getValue
in interface ThreadContextAttribute<Request<?>>
getValue
in class LanguageAttribute
req
- リクエストctx
- 実行コンテキストprotected java.util.Locale getLocale(HttpRequest req, ServletExecutionContext ctx)
このクラスの実装では以下の処理を行う。 1.Accept-Languageヘッダから言語の取得を試みる。 (getAcceptLanguage(HttpRequest, ServletExecutionContext)
) サポート対象の言語が取得できた場合は取得できた言語を返す。 サポート対象の言語が取得できない場合は2.に進む。 2.デフォルトの言語を返す。 (LanguageAttribute.getValue(Request, ExecutionContext)
)
req
- リクエストctx
- 実行コンテキストprotected java.lang.String getAcceptLanguage(HttpRequest req, ServletExecutionContext ctx)
req
- リクエストctx
- 実行コンテキストprotected boolean isSupportedLanguage(java.lang.String language)
language
- 言語