-
- All Known Subinterfaces:
- PartialStateHolder, StateHelper
- All Known Implementing Classes:
- AjaxBehavior, BeanValidator, BehaviorBase, ClientBehaviorBase, DateTimeConverter, DoubleRangeValidator, EnumConverter, HtmlBody, HtmlColumn, HtmlCommandButton, HtmlCommandLink, 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, UIInput, UIMessage, UIMessages, UINamingContainer, UIOutcomeTarget, UIOutput, UIPanel, UIParameter, UISelectBoolean, UISelectItem, UISelectItems, UISelectMany, UISelectOne, UIViewAction, UIViewParameter, UIViewRoot
public interface StateHolder
This interface is implemented by classes that need to save their state between requests.
An implementor must implement both
saveState(javax.faces.context.FacesContext)
andrestoreState(javax.faces.context.FacesContext, java.lang.Object)
methods in this class, since these two methods have a tightly coupled contract between themselves. In other words, if there is an ineritance hierarchy, it is not permissable to have thesaveState(javax.faces.context.FacesContext)
andrestoreState(javax.faces.context.FacesContext, java.lang.Object)
methods reside at different levels of the hierarchy.An implementor must have a public no-args constructor.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method and Description boolean
isTransient()
If true, the Object implementing this interface must not participate in state saving or restoring.void
restoreState(FacesContext context, Object state)
Perform any processing required to restore the state from the entries in the state Object.Object
saveState(FacesContext context)
Gets the state of the instance as aSerializable
Object.void
setTransient(boolean newTransientValue)
Denotes whether or not the Object implementing this interface must or must not participate in state saving or restoring.
-
-
-
Method Detail
-
saveState
Object saveState(FacesContext context)
Gets the state of the instance as a
Serializable
Object.If the class that implements this interface has references to instances that implement StateHolder (such as a
UIComponent
with event handlers, validators, etc.) this method must call thesaveState(javax.faces.context.FacesContext)
method on all those instances as well. This method must not save the state of children and facets. That is done via theStateManager
This method must not alter the state of the implementing object. In other words, after executing this code:
Object state = component.saveState(facesContext);
component
should be the same as before executing it.The return from this method must be
Serializable
- Throws:
NullPointerException
- ifcontext
is null
-
restoreState
void restoreState(FacesContext context, Object state)
Perform any processing required to restore the state from the entries in the state Object.
If the class that implements this interface has references to instances that also implement StateHolder (such as a
UIComponent
with event handlers, validators, etc.) this method must call therestoreState(javax.faces.context.FacesContext, java.lang.Object)
method on all those instances as well.If the
state
argument isnull
, take no action and return.- Throws:
NullPointerException
- ifcontext
is null.
-
isTransient
boolean isTransient()
If true, the Object implementing this interface must not participate in state saving or restoring.
-
setTransient
void setTransient(boolean newTransientValue)
Denotes whether or not the Object implementing this interface must or must not participate in state saving or restoring.
- Parameters:
newTransientValue
- boolean passtrue
if this Object will not participate in state saving or restoring, otherwise passfalse
.
-
-
Document created the 11/06/2005, last modified the 18/08/2025
Source of the printed document:https://www.gaudry.be/en/java-api-javaee-rf-javax/faces/component/stateholder.html
The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.
References
These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author of this site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.