Class SessionStore

java.lang.Object
nablarch.common.web.session.SessionStore
Direct Known Subclasses:
DbStore, HiddenStore, HttpSessionStore, LettuceRedisStore

@Published(tag="architect") public abstract class SessionStore extends Object
セッションの内容をストアに格納/読み込みするクラスが継承する共通実装。
See Also:
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    コンストラクタ。 デフォルトのセッションストア名を設定する。
  • Method Summary

    Modifier and Type
    Method
    Description
    protected List<SessionEntry>
    decode(byte[] encoded)
    セッションエントリリストをデコードする。
    abstract void
    delete(String sessionId, ExecutionContext executionContext)
    セッションの内容をストアから削除する。
    protected byte[]
    セッションエントリリストをエンコードする。
    long
    有効期限(単位:ミリ秒)で取得する。
    セッションストア名を取得する。
    セッション内容の直列化モジュールを取得する。
    abstract void
    invalidate(String sessionId, ExecutionContext executionContext)
    セッションストアを無効にする。
    boolean
    セッション全体の有効期限に寄与するかを取得する。 ストアの有効期限をセッショントラキングIDの保持期限に反映させない場合は、 本メソッドをサブクラス側でオーバーライドしてfalseを返却するようにする。
    abstract List<SessionEntry>
    load(String sessionId, ExecutionContext executionContext)
    セッションの内容をストアからロードする。 セッションの内容が存在しない場合は空リストを返す。
    abstract void
    save(String sessionId, List<SessionEntry> entries, ExecutionContext executionContext)
    セッションの内容をストアに保存する。
    void
    setExpires(Long expires)
    有効期限(単位:秒)を設定する。
    void
    setExpires(Long expires, TimeUnit timeUnit)
    有効期限を設定する。
    void
    セッションストア名を設定する。
    void
    セッション内容の直列化モジュールを設定する。

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • SessionStore

      protected SessionStore(String name)
      コンストラクタ。 デフォルトのセッションストア名を設定する。
      Parameters:
      name - セッションストア名
  • Method Details

    • setName

      public void setName(String name)
      セッションストア名を設定する。
      Parameters:
      name - セッションストア名
    • getName

      public String getName()
      セッションストア名を取得する。
      Returns:
      セッションストア名
    • setExpires

      public void setExpires(Long expires)
      有効期限(単位:秒)を設定する。
      Parameters:
      expires - 有効期限(単位:秒)
    • setExpires

      public void setExpires(Long expires, TimeUnit timeUnit)
      有効期限を設定する。
      Parameters:
      expires - 有効期限
      timeUnit - 時間単位
    • load

      public abstract List<SessionEntry> load(String sessionId, ExecutionContext executionContext)
      セッションの内容をストアからロードする。 セッションの内容が存在しない場合は空リストを返す。
      Parameters:
      sessionId - セッションID
      executionContext - コンテキスト
      Returns:
      セッションエントリリスト
    • save

      public abstract void save(String sessionId, List<SessionEntry> entries, ExecutionContext executionContext)
      セッションの内容をストアに保存する。
      Parameters:
      sessionId - セッションID
      entries - セッションエントリリスト
      executionContext - コンテキスト
    • delete

      public abstract void delete(String sessionId, ExecutionContext executionContext)
      セッションの内容をストアから削除する。
      Parameters:
      sessionId - セッションID
      executionContext - コンテキスト
    • invalidate

      public abstract void invalidate(String sessionId, ExecutionContext executionContext)
      セッションストアを無効にする。
      Parameters:
      sessionId - セッションID
      executionContext - コンテキスト
    • encode

      protected byte[] encode(List<SessionEntry> entries)
      セッションエントリリストをエンコードする。
      Parameters:
      entries - セッションエントリリスト
      Returns:
      バイト配列
    • decode

      protected List<SessionEntry> decode(byte[] encoded)
      セッションエントリリストをデコードする。
      Parameters:
      encoded - エンコードされたバイト配列
      Returns:
      セッションエントリリスト
    • getExpiresMilliSeconds

      public long getExpiresMilliSeconds()
      有効期限(単位:ミリ秒)で取得する。
      Returns:
      有効期限(単位:ミリ秒)
    • isExtendable

      public boolean isExtendable()
      セッション全体の有効期限に寄与するかを取得する。 ストアの有効期限をセッショントラキングIDの保持期限に反映させない場合は、 本メソッドをサブクラス側でオーバーライドしてfalseを返却するようにする。
      Returns:
      このストアの有効期限をセッションの維持期間に反映させる場合はtrue
    • getStateEncoder

      public StateEncoder getStateEncoder()
      セッション内容の直列化モジュールを取得する。
      Returns:
      セッション内容の直列化モジュール
    • setStateEncoder

      public void setStateEncoder(StateEncoder stateEncoder)
      セッション内容の直列化モジュールを設定する。
      Parameters:
      stateEncoder - セッション内容の直列化モジュール