パッケージ jakarta.faces.view

クラス StateManagementStrategy

    • コンストラクターの詳細

      • StateManagementStrategy

        public StateManagementStrategy()
    • メソッドの詳細

      • saveView

        public abstract ObjectSE saveView​(FacesContext context)

        Serializable を実装し、java.io.NotSerializableException をスローせずに java.io.ObjectOutputStream.writeObject() に渡すことができる Object の現在のビューの状態を返します。デフォルトの実装では、次のアルゴリズムまたはそれに相当するセマンティックを実行し、ここにリストされているすべての手順を明示的に実行する必要があります。

        1. 現在のビューの UIViewRoot が transient とマークされている場合は、すぐに null を返します。

        2. ビューをトラバースして、各クライアント ID が一意であることを確認します。複数のクライアント ID が同じ場合は、IllegalStateException をスローします。

        3. UIComponent.visitTree(jakarta.faces.component.visit.VisitContext, jakarta.faces.component.visit.VisitCallback) を使用してツリーにアクセスします。各ノードについて、StateHolder.saveState(jakarta.faces.context.FacesContext) を呼び出し、返された Object を、クライアント ID のみを指定して復元できるように保存します。VDL ではなく、このライフサイクルトラバーサル中にプログラムで追加または削除されたコンポーネントのケースを処理するために特別な注意を払う必要があります。

        実装では、ツリー内のノードごとに StateHolder.saveState(jakarta.faces.context.FacesContext) メソッドが呼び出されるようにする必要があります。

        上記のアルゴリズムを実行して取得した状態を保存するために使用するデータ構造は Serializable である必要があり、データ構造内のすべての要素も Serializable である必要があります。

        パラメーター:
        context - このリクエストの FacesContext 
        戻り値:
        保存されたビューステート
        導入:
        2.0