| 
 | Java EE 5 SDK | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Object extended by javax.faces.application.StateManager
public abstract class StateManager
StateManager directs the process of saving and
 restoring the view between requests. The StateManager
 instance for an application is retrieved from the Application
 instance, and thus cannot know any details of the markup language
 created by the RenderKit being used to render a view. The
 StateManager utilizes a helper object (ResponseStateManager), that is provided by the RenderKit
 implementation and is therefore aware of the markup language
 details.
| Nested Class Summary | |
|---|---|
|  class | StateManager.SerializedViewDeprecated. This class was not marked Serializablein the 1.0 version of the spec. It was also not a static inner
 class, so it can't be made to beSerializable.
 Therefore, it is being deprecated in version 1.2 of the spec.
 The replacement is to use an implementation dependentObject. | 
| Field Summary | |
|---|---|
| static String | STATE_SAVING_METHOD_CLIENTConstant value for the initialization parameter named by the STATE_SAVING_METHOD_PARAM_NAMEthat indicates
 state saving should take place on the client. | 
| static String | STATE_SAVING_METHOD_PARAM_NAMEThe ServletContextinit parameter consulted by
 theStateManagerto tell where the state should be
 saved. | 
| static String | STATE_SAVING_METHOD_SERVERConstant value for the initialization parameter named by the STATE_SAVING_METHOD_PARAM_NAMEthat indicates
 state saving should take place on the server. | 
| Constructor Summary | |
|---|---|
| StateManager() | |
| Method Summary | |
|---|---|
| protected Object | getComponentStateToSave(FacesContext context)Deprecated. the distinction between tree structure and component state is now an implementation detail. The default implementation returns null. | 
| protected Object | getTreeStructureToSave(FacesContext context)Deprecated. the distinction between tree structure and component state is now an implementation detail. The default implementation returns null. | 
|  boolean | isSavingStateInClient(FacesContext context) | 
| protected void | restoreComponentState(FacesContext context,
 UIViewRoot viewRoot,
 String renderKitId)Deprecated. the distinction between tree structure and component state is now an implementation detail. The default implementation does nothing. | 
| protected UIViewRoot | restoreTreeStructure(FacesContext context,
 String viewId,
 String renderKitId)Deprecated. the distinction between tree structure and component state is now an implementation detail. The default implementation returns null. | 
| abstract UIViewRoot | restoreView(FacesContext context,
 String viewId,
 String renderKitId)Restore the tree structure and the component state of the view for the specified viewId, in an implementation dependent
 manner, and return the restoredUIViewRoot. | 
|  StateManager.SerializedView | saveSerializedView(FacesContext context)Deprecated. this has been replaced by saveView(javax.faces.context.FacesContext). The
 default implementation returnsnull. | 
|  Object | saveView(FacesContext context)Return an opaque Objectcontaining sufficient
 information for this same instance to restore the state of the
 currentUIViewRooton a subsequent request. | 
|  void | writeState(FacesContext context,
 Object state)Save the state represented in the specified state Objectinstance, in an implementation dependent
 manner. | 
|  void | writeState(FacesContext context,
 StateManager.SerializedView state)Deprecated. This method has been replaced by writeState(javax.faces.context.FacesContext,java.lang.Object).
 The default implementation of this method does nothing. | 
| Methods inherited from class java.lang.Object | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Field Detail | 
|---|
public static final String STATE_SAVING_METHOD_PARAM_NAME
The ServletContext init parameter consulted by
 the StateManager to tell where the state should be
 saved. Valid values are given as the values of the constants:
 STATE_SAVING_METHOD_CLIENT or STATE_SAVING_METHOD_SERVER.
If this parameter is not specified, the default value is the
 value of the constant STATE_SAVING_METHOD_CLIENT. 
public static final String STATE_SAVING_METHOD_CLIENT
Constant value for the initialization parameter named by
 the STATE_SAVING_METHOD_PARAM_NAME that indicates
 state saving should take place on the client.
public static final String STATE_SAVING_METHOD_SERVER
Constant value for the initialization parameter named by
 the STATE_SAVING_METHOD_PARAM_NAME that indicates
 state saving should take place on the server.
| Constructor Detail | 
|---|
public StateManager()
| Method Detail | 
|---|
public StateManager.SerializedView saveSerializedView(FacesContext context)
saveView(javax.faces.context.FacesContext). The
 default implementation returns null.
Return the tree structure and component state information for the
 view contained in the specified FacesContext instance as an
 object of type StateManager.SerializedView. If there
 is no state information to be saved, return null
 instead.
Components may opt out of being included in the serialized view
 by setting their transient property to true.
 This must cause the component itself, as well as all of that component's
 children and facets, to be omitted from the saved tree structure
 and component state information.
This method must also enforce the rule that, for components with
 non-null ids, all components that are descendants of the
 same nearest NamingContainer must have unique identifiers.
context - FacesContext for the current request
IllegalStateException - if more than one component or
 facet within the same NamingContainer in this view has
 the same non-null component idpublic Object saveView(FacesContext context)
Return an opaque Object containing sufficient
 information for this same instance to restore the state of the
 current UIViewRoot on a subsequent request. The returned
 object must implement java.io.Serializable. If there
 is no state information to be saved, return null
 instead.
Components may opt out of being included in the serialized view
 by setting their transient property to true.
 This must cause the component itself, as well as all of that component's
 children and facets, to be omitted from the saved tree structure
 and component state information.
This method must also enforce the rule that, for components with
 non-null ids, all components that are descendants of the
 same nearest NamingContainer must have unique identifiers.
For backwards compatability with existing
 StateManager implementations, the default
 implementation of this method calls saveSerializedView(javax.faces.context.FacesContext)
 and creates and returns a two element Object array
 with element zero containing the structure property
 and element one containing the state property of the
 SerializedView.
context - FacesContext for the current request
IllegalStateException - if more than one component or
 facet within the same NamingContainer in this view has
 the same non-null component idprotected Object getTreeStructureToSave(FacesContext context)
null.
Convenience method, which must be called by
 saveSerializedView(), to construct and return a
 Serializable object that represents the structure
 of the entire component tree (including children and facets)
 of this view.
Components may opt-out of being included in the tree structure
 by setting their transient property to true.
 This must cause the component itself, as well as all of that component's
 children and facets, to be omitted from the saved tree structure
 information.
context - FacesContext for the current requestprotected Object getComponentStateToSave(FacesContext context)
null.
Convenience method, which must be called by
 saveSerializedView(), to construct and return a
 Serializable object that represents the state of
 all component properties, attributes, and attached objects, for
 the entire component tree (including children and facets)
 of this view.
Components may opt-out of being included in the component state
 by setting their transient property to true.
 This must cause the component itself, as well as all of that component's
 children and facets, to be omitted from the saved component state
 information.
context - FacesContext for the current requestpublic void writeState(FacesContext context, Object state) throws IOException
Save the state represented in the specified state
 Object instance, in an implementation dependent
 manner.
This method will typically simply delegate the actual
 writing to the writeState() method of the
 ResponseStateManager instance provided by the
 RenderKit being used to render this view. This
 method assumes that the caller has positioned the
 ResponseWriter at the correct position for the
 saved state to be written.
For backwards compatability with existing
 StateManager implementations, the default
 implementation of this method checks if the argument is an
 instance of Object [] of length greater than or
 equal to two. If so, it creates a SerializedView
 instance with the tree structure coming from element zero and
 the component state coming from element one and calls through to
 writeState(javax.faces.context.FacesContext,javax.faces.application.StateManager.SerializedView).
 If not, does nothing.
context - FacesContext for the current requeststate - the Serializable state to be written,
 as returned by saveSerializedView(javax.faces.context.FacesContext)
IOExceptionpublic void writeState(FacesContext context, StateManager.SerializedView state) throws IOException
writeState(javax.faces.context.FacesContext,java.lang.Object).
 The default implementation of this method does nothing.
Save the state represented in the specified
 SerializedView isntance, in an implementation
 dependent manner.
This method must consult the context initialization parameter
 named by the symbolic constant
 StateManager.STATE_SAVING_METHOD_PARAMETER_NAME
 to determine whether state should be saved on the client or the
 server. If not present, client side state saving is assumed.
If the init parameter indicates that client side state
 saving should be used, this method must delegate the actual
 writing to the writeState() method of the
 ResponseStateManager instance provided by the
 RenderKit being used to render this view. This
 method assumes that the caller has positioned the
 ResponseWriter at the correct position for the
 saved state to be written.
context - FacesContext for the current requeststate - the serialized state to be written
IOExceptionpublic abstract UIViewRoot restoreView(FacesContext context, String viewId, String renderKitId)
Restore the tree structure and the component state of the view
 for the specified viewId, in an implementation dependent
 manner, and return the restored UIViewRoot. If there is no
 saved state information available for this viewId,
 return null instead.
This method must consult the context initialization parameter
 named by the symbolic constant
 StateManager.STATE_SAVING_METHOD_PARAMETER_NAME
 to determine whether state should be saved on the client or the
 server. If not present, client side state saving is assumed.
If the init parameter indicates that client side state
 saving should be used, this method must call the
 getTreeStructureToRestore() and (if the previous method
 call returned a non-null value) getComponentStateToRestore()
 methods of the ResponseStateManager instance provided by the
 RenderKit responsible for this view.
context - FacesContext for the current requestviewId - View identifier of the view to be restoredrenderKitId - the renderKitId used to render this response.
 Must not be null.
IllegalArgumentException - if renderKitId
 is null.protected UIViewRoot restoreTreeStructure(FacesContext context, String viewId, String renderKitId)
null.
Convenience method, which must be called by
 restoreView(), to construct and return a UIViewRoot
 instance (populated with children and facets) representing the
 tree structure of the component tree being restored. If no saved
 state information is available, return null instead.
context - FacesContext for the current requestviewId - View identifier of the view to be restoredrenderKitId - the renderKitId used to render this response.
 Must not be null.
IllegalArgumentException - if renderKitId
 is null.protected void restoreComponentState(FacesContext context, UIViewRoot viewRoot, String renderKitId)
Convenience method, which must be called by
 restoreView(), to restore the attributes, properties,
 and attached objects of all components in the restored component tree.
 
context - FacesContext for the current requestviewRoot - UIViewRoot returned by a previous call
 to restoreTreeStructure()renderKitId - the renderKitId used to render this response.
 Must not be null.
IllegalArgumentException - if renderKitId
 is null.public boolean isSavingStateInClient(FacesContext context)
true if and only if the value of the
 ServletContext init parameter named by the value of
 the constant STATE_SAVING_METHOD_PARAM_NAME is equal to
 the value of the constant STATE_SAVING_METHOD_CLIENT.
 false otherwise.
NullPointerException - if context is
 null.| 
 | Java EE 5 SDK | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
Copyright 2007 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
Scripting on this page tracks web page traffic, but does not change the content in any way.