クラス StateManager
- java.lang.ObjectSE
-
- jakarta.faces.application.StateManager
- 既知の直属サブクラス
StateManagerWrapper
public abstract class StateManager extends ObjectSE
StateManager は、リクエスト間でビューを保存および復元するプロセスを指示します。このクラスの実装はスレッドセーフでなければなりません。アプリケーションの
StateManager
インスタンスはApplication
インスタンスから取得されるため、ビューのレンダリングに使用されているRenderKit
によって作成されたマークアップ言語の詳細を知ることができません。StateManager
はヘルパーオブジェクト(ResponseStateManager
)を利用します。ヘルパーオブジェクトはRenderKit
実装によって提供されるため、マークアップ言語の詳細を認識しています。
フィールドサマリー
フィールド 修飾子と型 フィールド 説明 static StringSE
FULL_STATE_SAVING_VIEW_IDS_PARAM_NAME
ランタイムは、このパラメーターの値をビュー ID のコンマ区切りリストとして解釈する必要があります。各ビュー ID は、Jakarta Faces 1.2 で指定された状態保存メカニズムを使用して状態を保存する必要があります。static StringSE
IS_BUILDING_INITIAL_STATE
FacesContext
属性マップ内のマーカーは、初期状態をマークしていることを示すため、UIData
などのコンポーネントを反復するmarkInitialState()
メソッドはこの事実を認識し、子孫の初期状態を保存できます。static StringSE
IS_SAVING_STATE
FacesContext
属性マップ内のマーカーは、状態を保存していることを示します。static StringSE
PARTIAL_STATE_SAVING_PARAM_NAME
部分的な状態保存メカニズムを使用する必要があるかどうかを判断するためにランタイムによって参照されるServletContext
init パラメーター。static StringSE
SERIALIZE_SERVER_STATE_PARAM_NAME
このパラメーターが設定されていて、その値の文字列表現で toLowerCase().equals("true" )を呼び出すと true が返され、jakarta.faces.STATE_SAVING_METHOD が "server" に設定されている場合(以下に示すように)、サーバーの状態は次のようになります。集約状態が java.io.Serializable を実装するように、Serializable であることが保証されています。static StringSE
STATE_SAVING_METHOD_CLIENT
STATE_SAVING_METHOD_PARAM_NAME
によって指定された初期化パラメーターの定数値。状態の保存がクライアントで行われることを示します。static StringSE
STATE_SAVING_METHOD_PARAM_NAME
状態を保存する場所を通知するためにStateManager
によって参照されるServletContext
init パラメーター。static StringSE
STATE_SAVING_METHOD_SERVER
STATE_SAVING_METHOD_PARAM_NAME
によって指定された初期化パラメーターの定数値。サーバー上で状態の保存が行われることを示します。
コンストラクターのサマリー
コンストラクター コンストラクター 説明 StateManager()
メソッドのサマリー
すべてのメソッド インスタンスメソッド 具象メソッド 修飾子と型 メソッド 説明 StringSE
getViewState(FacesContext context)
RenderKit
固有のマークアップのないString
としてビューステートを返す簡易メソッド。boolean
isSavingStateInClient(FacesContext context)
状態がクライアントに保存されているかどうかを判断するメソッド。void
writeState(FacesContext context, ObjectSE state)
実装に依存する方法で、指定された状態Object
インスタンスで表される状態を保存します。
フィールドの詳細
STATE_SAVING_METHOD_PARAM_NAME
public static final StringSE STATE_SAVING_METHOD_PARAM_NAME
状態を保存する場所を通知するために
StateManager
によって参照されるServletContext
init パラメーター。有効な値は、定数の値として指定されます:STATE_SAVING_METHOD_CLIENT
またはSTATE_SAVING_METHOD_SERVER
。このパラメーターを指定しない場合、デフォルト値は定数
STATE_SAVING_METHOD_CLIENT
の値です。- 関連事項:
- 定数フィールド値
PARTIAL_STATE_SAVING_PARAM_NAME
public static final StringSE PARTIAL_STATE_SAVING_PARAM_NAME
部分的な状態保存メカニズムを使用する必要があるかどうかを判断するためにランタイムによって参照される
ServletContext
init パラメーター。未定義の場合、ランタイムはアプリケーションのバージョンレベルを決定する必要があります。
1.2 以下でバージョン管理されたアプリケーションの場合、ランタイムは部分的な状態保存メカニズムを使用してはなりません。
2.0 以降でバージョン管理されたアプリケーションの場合、ランタイムは部分的な状態保存メカニズムを使用する必要があります。
このパラメーターが定義されていて、アプリケーションが 1.2 以下でバージョン管理されている場合、ランタイムは部分的な状態保存メカニズムを使用してはなりません。それ以外の場合、このパラメーターが定義されていて、その値の
String
表現でtoLowerCase().equals("true")
を呼び出すとtrue
が返されます。ランタイムは部分的な状態メカニズムを使用する必要があります。それ以外の場合は、部分的な状態保存メカニズムを使用しないでください。- 導入:
- 2.0
- 関連事項:
- 定数フィールド値
FULL_STATE_SAVING_VIEW_IDS_PARAM_NAME
public static final StringSE FULL_STATE_SAVING_VIEW_IDS_PARAM_NAME
ランタイムは、このパラメーターの値をビュー ID のコンマ区切りリストとして解釈する必要があります。各ビュー ID は、Jakarta Faces 1.2 で指定された状態保存メカニズムを使用して状態を保存する必要があります。
- 関連事項:
- 定数フィールド値
IS_SAVING_STATE
public static final StringSE IS_SAVING_STATE
FacesContext
属性マップ内のマーカーは、状態を保存していることを示します。実装は、状態保存のトラバーサルを開始する前にこのマーカーをマップに 設定する必要があり、トラバーサルが完了した後、finally ブロックでマーカーをクリアする必要があります。- 関連事項:
- 定数フィールド値
IS_BUILDING_INITIAL_STATE
public static final StringSE IS_BUILDING_INITIAL_STATE
FacesContext
属性マップ内のマーカーは、初期状態をマークしていることを示すため、UIData
などのコンポーネントを反復するmarkInitialState()
メソッドはこの事実を認識し、子孫の初期状態を保存できます。- 導入:
- 2.1
- 関連事項:
- 定数フィールド値
SERIALIZE_SERVER_STATE_PARAM_NAME
public static final StringSE SERIALIZE_SERVER_STATE_PARAM_NAME
このパラメーターが設定されていて、その値の文字列表現で toLowerCase().equals("true" )を呼び出すと true が返され、jakarta.faces.STATE_SAVING_METHOD が "server" に設定されている場合(以下に示すように)、サーバーの状態は次のようになります。集約状態が java.io.Serializable を実装するように、Serializable であることが保証されています。このパラメーターの目的は、状態を ObjectOutputStream に書き出す行為が NotSerializableException をスローしないようにすることですが、ランタイムは状態を保存する前にこれを確認する必要はありません。
- 導入:
- 2.2
- 関連事項:
- 定数フィールド値
STATE_SAVING_METHOD_CLIENT
public static final StringSE STATE_SAVING_METHOD_CLIENT
STATE_SAVING_METHOD_PARAM_NAME
によって指定された初期化パラメーターの定数値。状態の保存がクライアントで行われることを示します。- 関連事項:
- 定数フィールド値
メソッドの詳細
writeState
public void writeState(FacesContext context, ObjectSE state) throws IOExceptionSE
実装に依存する方法で、指定された状態
Object
インスタンスで表される状態を保存します。このメソッドは通常、このビューのレンダリングに使用されている
RenderKit
によって提供されるResponseStateManager
インスタンスのwriteState()
メソッドに実際の書き込みを委譲するだけです。このメソッドは、呼び出し元がResponseWriter
を、保存された状態が書き込まれる正しい位置に配置したことを前提としています。- パラメーター:
context
- 現在のリクエストのFacesContext
state
- 書き込まれる状態- 例外:
IOExceptionSE
- I/O エラーが発生したとき。- 導入:
- 1.2
isSavingStateInClient
public boolean isSavingStateInClient(FacesContext context)
状態がクライアントに保存されているかどうかを判断するメソッド。
- パラメーター:
context
- Faces コンテキスト。- 戻り値:
true
は、定数STATE_SAVING_METHOD_PARAM_NAME
の値によって指定されたServletContext
init パラメーターの値が定数STATE_SAVING_METHOD_CLIENT
の値と等しい(大文字と小文字を区別しない)場合に限ります。それ以外の場合はfalse
。- 例外:
NullPointerExceptionSE
-context
がnull
の場合。
getViewState
public StringSE getViewState(FacesContext context)
ビューステートを
RenderKit
固有のマークアップなしでString
として返す便利なメソッド。このメソッドのこのデフォルトの実装は、StateManagementStrategy.saveView(FacesContext)
を呼び出し、結果をResponseStateManager.getViewState(jakarta.faces.context.FacesContext, Object)
に渡し、結果の値をResponseStateManager.getViewState(jakarta.faces.context.FacesContext, Object)
から返します。- パラメーター:
context
- 現在のリクエストのFacesContext
- 戻り値:
- ビューステート。
- 導入:
- 2.0