@Published public final class SessionUtil extends java.lang.Object
SessionManager
によって提供される。
SessionManager
の実装は、SystemRepository
からコンポーネント名"sessionManager"で取得される。
本クラスはSessionStoreHandler
と併せて使用すること。修飾子とタイプ | メソッドと説明 |
---|---|
static <T> T |
delete(ExecutionContext ctx,
java.lang.String name)
セッションを削除する。
|
static <T> T |
get(ExecutionContext ctx,
java.lang.String name)
名称を指定してセッションからオブジェクトを取得する。
|
static void |
invalidate(ExecutionContext ctx)
セッションを無効化する。
|
static <T> T |
or(ExecutionContext ctx,
java.lang.String name,
T defaultValue)
名称を指定してセッションからオブジェクトを取得する。
|
static <T> T |
orNull(ExecutionContext ctx,
java.lang.String name)
名称を指定してセッションからオブジェクトを取得する。
|
static void |
put(ExecutionContext ctx,
java.lang.String name,
java.lang.Object value)
SessionStore に変数を保存する。 |
static void |
put(ExecutionContext ctx,
java.lang.String name,
java.lang.Object value,
java.lang.String storeName)
保存先の
SessionStore を指定して、セッションに変数を保存する。 |
public static <T> T get(ExecutionContext ctx, java.lang.String name)
SessionKeyNotFoundException
を送出する。
// "userName"という名称のオブジェクトがセッションに登録済み。設定値は"Nabu Rakutaro"
SessionUtil.get(ctx, "userName"); // -> "Nabu Rakutaro"
// セッションに存在しないオブジェクトを指定
SessionUtil.get(ctx, "test"); // -> SessionKeyNotFoundExceptionを送出
T
- セッションに格納されているオブジェクトの型ctx
- 実行コンテキストname
- セッションに登録したオブジェクトの名称SessionKeyNotFoundException
- 指定したオブジェクトの名称がセッションに存在しない場合public static <T> T orNull(ExecutionContext ctx, java.lang.String name)
// "userName"という名称のオブジェクトがセッションに登録済み。設定値は"Nabu Rakutaro"
SessionUtil.orNull(ctx, "userName"); // -> "Nabu Rakutaro"
// セッションに存在しないオブジェクトを指定
SessionUtil.orNull(ctx, "test"); // -> null
T
- セッションに格納されているオブジェクトの型ctx
- 実行コンテキストname
- セッションに登録したオブジェクトの名称public static <T> T or(ExecutionContext ctx, java.lang.String name, T defaultValue)
// "userName"という名称のオブジェクトがセッションに登録済み。設定値は"Nabu Rakutaro"
SessionUtil.or(ctx, "userName", "デフォルト値"); // -> "Nabu Rakutaro"
// セッションに存在しないオブジェクトを指定
SessionUtil.or(ctx, "test", "デフォルト値"); // -> "デフォルト値"
T
- セッションに格納されているオブジェクトの型ctx
- 実行コンテキストname
- セッションに登録したオブジェクトの名称defaultValue
- デフォルト値public static void put(ExecutionContext ctx, java.lang.String name, java.lang.Object value)
SessionStore
に変数を保存する。
オブジェクトの保存先はSessionManager
で指定したSessionStore
が選択される。
同一の登録名をもつオブジェクトは上書きされる。
よって、複数のSessionStore
を利用する場合でも、
同一の登録名をもつオブジェクトは一つしか登録できない。
注意:セッションで管理できるオブジェクトの制限について、
put(ExecutionContext, String, Object, String)
を参照すること。
SessionUtil.put(ctx, "userName", "Nabu Rakutaro");
ctx
- 実行コンテキストname
- セッションに登録するオブジェクトの名称value
- セッションに登録するオブジェクトpublic static void put(ExecutionContext ctx, java.lang.String name, java.lang.Object value, java.lang.String storeName)
SessionStore
を指定して、セッションに変数を保存する。
同一の登録名をもつオブジェクトは上書きされる。
よって、複数のSessionStore
を利用する場合でも、
同一の登録名をもつオブジェクトは一つしか登録できない。
注意:セッションに直接格納し、復元ができるオブジェクトの制限について
SessionUtil.put(ctx, "userName", "Nabu Rakutaro", "httpSession");
ctx
- 実行コンテキストname
- セッションに登録するオブジェクトの名称value
- セッションに登録するオブジェクトstoreName
- 登録対象のセッションストア名public static <T> T delete(ExecutionContext ctx, java.lang.String name)
// Sessionスコープに"sessionProject"という名称でオブジェクトが登録されている前提
SessionUtil.delete(context, "sessionProject");
ctx
- 実行コンテキストname
- セッションに登録したオブジェクトの名称null
)public static void invalidate(ExecutionContext ctx)
ctx
- 実行コンテキスト