org.codecluster.session
クラス C2SessionManager

java.lang.Object
  上位を拡張 org.codecluster.session.C2SessionManager

public class C2SessionManager
extends java.lang.Object

仮想セッションを生成管理するクラスです。

HttpServletRequest に関連付けられた HttpSession 中の仮想セッションを返却し、 まだ作られていない場合には新規に仮想セッションIDを作成して HttpSession に関連付けます。
自動で新規に作成しないことも選択できます。

仮想セッションIDはデフォルトではリクエストパラメータ(vsid)から取得します。
取得するパラメータ名の規定値は DEFAULT_VIRTUAL_SESSION_KEY で定義した値を用います。 または getSession() 時に指定することもできます。

C2Session が取得できた場合には同時に HttpServletRequest#getAttribute() にて取得可能な以下の情報が格納されます。

  - String vsid = (String)request.getAttribute("vsidString");
  - HashMap map = (HashMap)request.getAttribute("vsidMap");
  - C2Session s = (C2Session)request.getAttribute("vsidBean");
  ※キーの "vsid" の部分は getSession() で virtualSessionKey を指定していればその値が使われます。
 

generateVirtualSessionId() をオーバーライドすることで仮想セッションIDの生成ロジックを変更できます


フィールドの概要
static java.lang.String DEFAULT_VIRTUAL_SESSION_KEY
          仮想セッションIDを取得するリクエストパラメータ名。
 
メソッドの概要
static java.lang.String generateVirtualSessionId()
          仮想セッションIDを生成し返却します。
static C2Session getSession(javax.servlet.http.HttpServletRequest request)
          HttpServletRequest に関連付けられた現在の仮想セッションを返します。
static C2Session getSession(javax.servlet.http.HttpServletRequest request, boolean create)
          HttpServletRequest に関連付けられた現在の仮想セッションを返します。
static C2Session getSession(javax.servlet.http.HttpServletRequest request, java.lang.String virtualSessionKey)
          HttpServletRequest に関連付けられた現在の仮想セッションを返します。
static C2Session getSession(javax.servlet.http.HttpServletRequest request, java.lang.String virtualSessionKey, boolean create)
          HttpServletRequest に関連付けられた現在の仮想セッションを返します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

DEFAULT_VIRTUAL_SESSION_KEY

public static final java.lang.String DEFAULT_VIRTUAL_SESSION_KEY
仮想セッションIDを取得するリクエストパラメータ名。規定値("vsid")

関連項目:
定数フィールド値
メソッドの詳細

getSession

public static C2Session getSession(javax.servlet.http.HttpServletRequest request)
HttpServletRequest に関連付けられた現在の仮想セッションを返します。
セッションが関連付けられていない場合は、新しく作成します。

パラメータ:
request -
戻り値:
HttpServletRequest に関連付けられた現在の仮想セッション

getSession

public static C2Session getSession(javax.servlet.http.HttpServletRequest request,
                                   java.lang.String virtualSessionKey)
HttpServletRequest に関連付けられた現在の仮想セッションを返します。
セッションが関連付けられていない場合は、新しく作成します。

パラメータ:
request -
virtualSessionKey -
戻り値:
HttpServletRequest に関連付けられた現在の仮想セッション

getSession

public static C2Session getSession(javax.servlet.http.HttpServletRequest request,
                                   boolean create)
                            throws NoSessionException,
                                   ExpiresSessionException
HttpServletRequest に関連付けられた現在の仮想セッションを返します。

現在のセッションがなく、create が true の場合は、新しいセッションを返します。 create が false で、しかも要求に有効な HttpSession がない場合、 このメソッドは例外 NoSessionException をスローします。
create が false で、仮想セッションの有効期限が切れていた場合、 このメソッドは例外 ExpiresSessionException をスローします。

パラメータ:
request -
create -
戻り値:
HttpServletRequest に関連付けられた現在の仮想セッション
例外:
NoSessionException - 有効な HttpSession か、仮想セッションがない
ExpiresSessionException - 仮想セッションの有効期限が切れている

getSession

public static C2Session getSession(javax.servlet.http.HttpServletRequest request,
                                   java.lang.String virtualSessionKey,
                                   boolean create)
                            throws NoSessionException,
                                   ExpiresSessionException
HttpServletRequest に関連付けられた現在の仮想セッションを返します。

現在のセッションがなく、create が true の場合は、新しいセッションを返します。 create が false で、しかも要求に有効な HttpSession がない場合、 このメソッドは例外 NoSessionException をスローします。
create が false で、仮想セッションの有効期限が切れていた場合、 このメソッドは例外 ExpiresSessionException をスローします。

パラメータ:
request -
virtualSessionKey -
create - 新規セッションを必要に応じて作成する場合は true。現在のセッションがないときに null を返す場合は false
戻り値:
HttpServletRequest に関連付けられた現在の仮想セッション
例外:
NoSessionException - 有効な HttpSession か、仮想セッションがない
ExpiresSessionException - 仮想セッションの有効期限が切れている

generateVirtualSessionId

public static java.lang.String generateVirtualSessionId()
仮想セッションIDを生成し返却します。

仮想セッションIDの生成ロジックを変更する場合にはこのメソッドをオーバーライドします。

戻り値:
新規作成された仮想セッションID