Class TimeZoneAttributeInHttpSupport

java.lang.Object
nablarch.common.handler.threadcontext.TimeZoneAttribute
nablarch.common.web.handler.threadcontext.TimeZoneAttributeInHttpSupport
All Implemented Interfaces:
ThreadContextAttribute<Request<?>>
Direct Known Subclasses:
TimeZoneAttributeInHttpCookie, TimeZoneAttributeInHttpSession

@Published(tag="architect") public abstract class TimeZoneAttributeInHttpSupport extends TimeZoneAttribute
HTTP上でタイムゾーンの保持を行うクラスの実装をサポートするクラス。
Author:
Kiyohito Itoh
  • Constructor Details

    • TimeZoneAttributeInHttpSupport

      public TimeZoneAttributeInHttpSupport()
  • Method Details

    • setSupportedTimeZones

      public void setSupportedTimeZones(String... supportedTimeZones)
      サポート対象のタイムゾーンを設定する。
      Parameters:
      supportedTimeZones - サポート対象のタイムゾーン
    • isSupportedTimeZone

      protected boolean isSupportedTimeZone(String timeZone)
      サポート対象のタイムゾーンか否かを判定する。
      Parameters:
      timeZone - タイムゾーン
      Returns:
      サポート対象のタイムゾーンの場合はtrue
    • getValue

      public Object getValue(Request<?> req, ExecutionContext ctx)
      コンテキストスレッドに格納するこのプロパティの値を返す。

      getTimeZone(HttpRequest, ServletExecutionContext)に処理を委譲する。

      Specified by:
      getValue in interface ThreadContextAttribute<Request<?>>
      Overrides:
      getValue in class TimeZoneAttribute
      Parameters:
      req - リクエスト
      ctx - 実行コンテキスト
      Returns:
      サポート対象のタイムゾーン
    • getTimeZone

      protected TimeZone getTimeZone(HttpRequest req, ServletExecutionContext ctx)
      スレッドコンテキストに保持するタイムゾーン属性を返す。
       このクラスの実装では、以下の処理を行う。
       
       
       1. 保持しているタイムゾーンの取得を試みる。(getKeepingTimeZone(HttpRequest, ServletExecutionContext))
       
         サポート対象のタイムゾーンが取得できた場合は、取得できたタイムゾーンを返す。
         
         サポート対象のタイムゾーンが取得できない場合は2.に進む。
         
       2.デフォルトのタイムゾーンを返す。(TimeZoneAttribute#getValue(Request, ExecutionContext))
       
       
      Parameters:
      req - リクエスト
      ctx - 実行コンテキスト
      Returns:
      サポート対象のタイムゾーン
    • keepTimeZone

      protected abstract void keepTimeZone(HttpRequest req, ServletExecutionContext ctx, String timeZone)
      ユーザが選択したタイムゾーンを保持する。
      Parameters:
      req - リクエスト
      ctx - 実行コンテキスト
      timeZone - ユーザが選択したタイムゾーン
    • getKeepingTimeZone

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