インターフェース StateHolder
- すべての既知のサブインターフェース:
PartialStateHolder,StateHelper
- すべての既知の実装クラス:
AjaxBehavior、BeanValidator、BehaviorBase、ClientBehaviorBase、DateTimeConverter、DoubleRangeValidator、EnumConverter、HtmlBody、HtmlColumn、HtmlCommandButton、HtmlCommandLink、HtmlCommandScript、HtmlDataTable、HtmlDoctype、HtmlForm、HtmlGraphicImage、HtmlHead、HtmlInputFile、HtmlInputHidden、HtmlInputSecret、HtmlInputText、HtmlInputTextarea、HtmlMessage、HtmlMessages、HtmlOutcomeTargetButton、HtmlOutcomeTargetLink、HtmlOutputFormat、HtmlOutputLabel、HtmlOutputLink、HtmlOutputText、HtmlPanelGrid、HtmlPanelGroup、HtmlSelectBooleanCheckbox、HtmlSelectManyCheckbox、HtmlSelectManyListbox、HtmlSelectManyMenu、HtmlSelectOneListbox、HtmlSelectOneMenu、HtmlSelectOneRadio、LengthValidator、LongRangeValidator、MethodExpressionActionListener、MethodExpressionValidator、MethodExpressionValueChangeListener、NumberConverter、RegexValidator、UIColumn、UICommand、UIComponent、UIComponentBase、UIData、UIForm、UIGraphic、UIImportConstants、UIInput、UIMessage、UIMessages、UINamingContainer、UIOutcomeTarget、UIOutput、UIPanel、UIParameter、UISelectBoolean、UISelectItem、UISelectItemGroup、UISelectItemGroups、UISelectItems、UISelectMany、UISelectOne、UIViewAction、UIViewParameter、UIViewRoot、UIWebsocket
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)メソッドを階層の異なるレベルに配置することは許可されていません。実装者は、パブリックの引数なしコンストラクターを持っている必要があります。
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 booleanisTransient()true の場合、このインターフェースを実装するオブジェクトは、状態の保存または復元に参加してはなりません。voidrestoreState(FacesContext context, ObjectSE state)state オブジェクトのエントリから状態を復元するために必要な処理を実行します。ObjectSEsaveState(FacesContext context)インスタンスの状態をSerializableオブジェクトとして取得します。voidsetTransient(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を渡します。