@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)
NoSuchElementExceptionを送出する。
// "userName"という名称のオブジェクトがセッションに登録済み。設定値は"Nabu Rakutaro"
SessionUtil.get(ctx, "userName"); // -> "Nabu Rakutaro"
// セッションに存在しないオブジェクトを指定
SessionUtil.get(ctx, "test"); // -> NoSuchElementExceptionを送出
T - セッションに格納されているオブジェクトの型ctx - 実行コンテキストname - セッションに登録したオブジェクトの名称java.util.NoSuchElementException - 指定したオブジェクトの名称がセッションに存在しない場合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 - 実行コンテキスト