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