Class 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 Details

    • LanguageAttributeInHttpSupport

      public LanguageAttributeInHttpSupport()
  • Method Details

    • getLocale

      protected Locale getLocale(HttpRequest req, ServletExecutionContext ctx)
      スレッドコンテキストに保持する言語属性を返す。
       このクラスの実装では、以下の処理を行う。
       
       
       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 class HttpLanguageAttribute
      Parameters:
      req - リクエスト
      ctx - 実行コンテキスト
      Returns:
      サポート対象の言語
    • keepLanguage

      protected abstract void keepLanguage(HttpRequest req, ServletExecutionContext ctx, String language)
      ユーザが選択した言語を保持する。
      Parameters:
      req - リクエスト
      ctx - 実行コンテキスト
      language - ユーザが選択した言語
    • getKeepingLanguage

      protected abstract String getKeepingLanguage(HttpRequest req, ServletExecutionContext ctx)
      保持している言語を取得する。
      Parameters:
      req - リクエスト
      ctx - 実行コンテキスト
      Returns:
      言語。保持していない場合はnull