パッケージ jakarta.faces.component

インターフェース StateHolder

すべての既知のサブインターフェース:
PartialStateHolderStateHelper
すべての既知の実装クラス:
AjaxBehaviorBeanValidatorBehaviorBaseClientBehaviorBaseDateTimeConverterDoubleRangeValidatorEnumConverterHtmlBodyHtmlColumnHtmlCommandButtonHtmlCommandLinkHtmlCommandScriptHtmlDataTableHtmlDoctypeHtmlFormHtmlGraphicImageHtmlHeadHtmlInputFileHtmlInputHiddenHtmlInputSecretHtmlInputTextHtmlInputTextareaHtmlMessageHtmlMessagesHtmlOutcomeTargetButtonHtmlOutcomeTargetLinkHtmlOutputFormatHtmlOutputLabelHtmlOutputLinkHtmlOutputTextHtmlPanelGridHtmlPanelGroupHtmlSelectBooleanCheckboxHtmlSelectManyCheckboxHtmlSelectManyListboxHtmlSelectManyMenuHtmlSelectOneListboxHtmlSelectOneMenuHtmlSelectOneRadioLengthValidatorLongRangeValidatorMethodExpressionActionListenerMethodExpressionValidatorMethodExpressionValueChangeListenerNumberConverterRegexValidatorUIColumnUICommandUIComponentUIComponentBaseUIDataUIFormUIGraphicUIImportConstantsUIInputUIMessageUIMessagesUINamingContainerUIOutcomeTargetUIOutputUIPanelUIParameterUISelectBooleanUISelectItemUISelectItemGroupUISelectItemGroupsUISelectItemsUISelectManyUISelectOneUIViewActionUIViewParameterUIViewRootUIWebsocket

public interface StateHolder

このインターフェースは、リクエスト間で状態を保存する必要があるクラスによって実装されます。

実装者 は、saveState(jakarta.faces.context.FacesContext) メソッドと restoreState(jakarta.faces.context.FacesContext, java.lang.Object) メソッドの両方をこのクラスに実装する必要があります。これは、これら 2 つのメソッドが緊密に結合された契約を持っているためです。つまり、継承階層がある場合、saveState(jakarta.faces.context.FacesContext) メソッドと restoreState(jakarta.faces.context.FacesContext, java.lang.Object) メソッドを階層の異なるレベルに配置することは許可されていません。

実装者は、パブリックの引数なしコンストラクターを持っている必要があります。

  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    boolean
    true の場合、このインターフェースを実装するオブジェクトは、状態の保存または復元に参加してはなりません。
    void
    state オブジェクトのエントリから状態を復元するために必要な処理を実行します。
    インスタンスの状態を Serializable オブジェクトとして取得します。
    void
    setTransient(boolean newTransientValue)
    このインターフェースを実装するオブジェクトが状態の保存または復元に参加する必要があるかどうかを示します
  • メソッドの詳細

    • saveState

      ObjectSE saveState(FacesContext context)

      インスタンスの状態を Serializable オブジェクトとして取得します。

      このインターフェースを実装するクラスが、StateHolder を実装するインスタンス(イベントハンドラー、バリデーターなどを含む UIComponent など)への参照を持っている場合、このメソッドはそれらすべてのインスタンスで saveState(jakarta.faces.context.FacesContext) メソッドも呼び出す必要があります。このメソッドは、子とファセットの状態を保存してはなりませんそれは StateManager を介して行われます

      このメソッドは、実装オブジェクトの状態を変更してはなりません。つまり、このコードを実行した後:

       
       Object state = component.saveState(facesContext);
       
       

      component は、実行前と同じでなければなりません。

      このメソッドからの戻り値は Serializable でなければなりません

      パラメーター:
      context - Faces コンテキスト。
      戻り値:
      保存された状態。
      例外:
      NullPointerExceptionSE - context が null の場合
    • restoreState

      void restoreState(FacesContext context, ObjectSE state)

      state オブジェクトのエントリから状態を復元するために必要な処理を実行します。

      このインターフェースを実装するクラスが、StateHolder も実装するインスタンスへの参照を持っている場合(イベントハンドラー、バリデーターなどを備えた UIComponent など)、このメソッドはそれらすべてのインスタンスで restoreState(jakarta.faces.context.FacesContext, java.lang.Object) メソッドも呼び出す必要があります。

      state 引数が null の場合、アクションを実行せずに戻ります。

      パラメーター:
      context - Faces コンテキスト。
      state - 状態。
      例外:
      NullPointerExceptionSE - context が null の場合。
    • isTransient

      boolean isTransient()

      true の場合、このインターフェースを実装するオブジェクトは、状態の保存または復元に参加してはなりません。

      戻り値:
      一時的な場合は true、それ以外の場合は false
    • setTransient

      void setTransient(boolean newTransientValue)

      このインターフェースを実装するオブジェクトが状態の保存または復元に参加する必要があるかどうかを示します

      パラメーター:
      newTransientValue - このオブジェクトが 状態の保存または復元に参加しない場合はブール値 true を渡し、それ以外の場合は false を渡します。