クラス StateManager
- java.lang.ObjectSE
-
- jakarta.faces.application.StateManager
- 既知の直属サブクラス
StateManagerWrapper
public abstract class StateManager extends ObjectSE
StateManager は、リクエスト間でビューを保存および復元するプロセスを指示します。このクラスの実装はスレッドセーフでなければなりません。アプリケーションの
StateManagerインスタンスはApplicationインスタンスから取得されるため、ビューのレンダリングに使用されているRenderKitによって作成されたマークアップ言語の詳細を知ることができません。StateManagerはヘルパーオブジェクト(ResponseStateManager)を利用します。ヘルパーオブジェクトはRenderKit実装によって提供されるため、マークアップ言語の詳細を認識しています。
フィールド概要
フィールド 修飾子と型 フィールド 説明 static StringSEFULL_STATE_SAVING_VIEW_IDS_PARAM_NAMEランタイムは、このパラメーターの値をビュー ID のコンマ区切りリストとして解釈する必要があります。各ビュー ID は、Jakarta Faces 1.2 で指定された状態保存メカニズムを使用して状態を保存する必要があります。static StringSEIS_BUILDING_INITIAL_STATEFacesContext属性マップ内のマーカーは、初期状態をマークしていることを示すため、UIDataなどのコンポーネントを反復するmarkInitialState()メソッドはこの事実を認識し、子孫の初期状態を保存できます。static StringSEIS_SAVING_STATEFacesContext属性マップ内のマーカーは、状態を保存していることを示します。static StringSEPARTIAL_STATE_SAVING_PARAM_NAME部分的な状態保存メカニズムを使用する必要があるかどうかを判断するためにランタイムによって参照されるServletContextinit パラメーター。static StringSESERIALIZE_SERVER_STATE_PARAM_NAMEこのパラメーターが設定されていて、その値の文字列表現で toLowerCase().equals("true" )を呼び出すと true が返され、jakarta.faces.STATE_SAVING_METHOD が "server" に設定されている場合(以下に示すように)、サーバーの状態は次のようになります。集約状態が java.io.Serializable を実装するように、Serializable であることが保証されています。static StringSESTATE_SAVING_METHOD_CLIENTSTATE_SAVING_METHOD_PARAM_NAMEによって指定された初期化パラメーターの定数値。状態の保存がクライアントで行われることを示します。static StringSESTATE_SAVING_METHOD_PARAM_NAME状態を保存する場所を通知するためにStateManagerによって参照されるServletContextinit パラメーター。static StringSESTATE_SAVING_METHOD_SERVERSTATE_SAVING_METHOD_PARAM_NAMEによって指定された初期化パラメーターの定数値。サーバー上で状態の保存が行われることを示します。
コンストラクター概要
コンストラクター コンストラクター 説明 StateManager()
方法の概要
すべてのメソッド インスタンスメソッド 具象メソッド 修飾子と型 メソッド 説明 StringSEgetViewState(FacesContext context)RenderKit固有のマークアップのないStringとしてビューステートを返す簡易メソッド。booleanisSavingStateInClient(FacesContext context)状態がクライアントに保存されているかどうかを判断するメソッド。voidwriteState(FacesContext context, ObjectSE state)実装に依存する方法で、指定された状態Objectインスタンスで表される状態を保存します。
フィールドの詳細
STATE_SAVING_METHOD_PARAM_NAME
public static final StringSE STATE_SAVING_METHOD_PARAM_NAME
状態を保存する場所を通知するために
StateManagerによって参照されるServletContextinit パラメーター。有効な値は、定数の値として指定されます: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
部分的な状態保存メカニズムを使用する必要があるかどうかを判断するためにランタイムによって参照される
ServletContextinit パラメーター。未定義の場合、ランタイムはアプリケーションのバージョンレベルを決定する必要があります。
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- 現在のリクエストのFacesContextstate- 書き込まれる状態- 例外:
IOExceptionSE- I/O エラーが発生したとき。- 導入:
- 1.2
isSavingStateInClient
public boolean isSavingStateInClient(FacesContext context)
状態がクライアントに保存されているかどうかを判断するメソッド。
- パラメーター:
context- Faces コンテキスト。- 戻り値:
trueは、定数STATE_SAVING_METHOD_PARAM_NAMEの値によって指定されたServletContextinit パラメーターの値が定数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