インターフェース 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)
メソッドを階層の異なるレベルに配置することは許可されていません。実装者は、パブリックの引数なしコンストラクターを持っている必要があります。
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 boolean
isTransient()
true の場合、このインターフェースを実装するオブジェクトは、状態の保存または復元に参加してはなりません。void
restoreState(FacesContext context, ObjectSE state)
state オブジェクトのエントリから状態を復元するために必要な処理を実行します。ObjectSE
saveState(FacesContext context)
インスタンスの状態を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
を渡します。