Java EE 5 SDK

javax.faces.render
Class ResponseStateManager

java.lang.Object
  extended by javax.faces.render.ResponseStateManager

public abstract class ResponseStateManager
extends Object

ResponseStateManager is the helper class to StateManager that knows the specific rendering technology being used to generate the response. It is a singleton abstract class, vended by the RenderKit. This class knows the mechanics of saving state, whether it be in hidden fields, session, or some combination of the two.


Field Summary
static String RENDER_KIT_ID_PARAM
          The name of the request parameter used by the default implementation of ViewHandler.calculateRenderKitId(javax.faces.context.FacesContext) to derive a RenderKit ID.
static String VIEW_STATE_PARAM
          Implementations must use this value as the name and id of the client parameter in which to save the state between requests.
 
Constructor Summary
ResponseStateManager()
           
 
Method Summary
 Object getComponentStateToRestore(FacesContext context)
          Deprecated. This method has been replaced by getState(javax.faces.context.FacesContext, java.lang.String). The default implementation returns null.
 Object getState(FacesContext context, String viewId)
          The implementation must inspect the current request and return an Object representing the tree structure and component state passed in to a previous invocation of writeState(javax.faces.context.FacesContext,java.lang.Object).
 Object getTreeStructureToRestore(FacesContext context, String viewId)
          Deprecated. This method has been replaced by getState(javax.faces.context.FacesContext, java.lang.String). The default implementation returns null.
 boolean isPostback(FacesContext context)
          Return true if the current request is a postback.
 void writeState(FacesContext context, Object state)
           
 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

RENDER_KIT_ID_PARAM

public static final String RENDER_KIT_ID_PARAM

The name of the request parameter used by the default implementation of ViewHandler.calculateRenderKitId(javax.faces.context.FacesContext) to derive a RenderKit ID.

See Also:
Constant Field Values

VIEW_STATE_PARAM

public static final String VIEW_STATE_PARAM

Implementations must use this value as the name and id of the client parameter in which to save the state between requests.

Since:
1.2
See Also:
Constant Field Values
Constructor Detail

ResponseStateManager

public ResponseStateManager()
Method Detail

writeState

public void writeState(FacesContext context,
                       Object state)
                throws IOException
Throws:
IOException

writeState

public void writeState(FacesContext context,
                       StateManager.SerializedView state)
                throws IOException
Deprecated. This method has been replaced by writeState(javax.faces.context.FacesContext,java.lang.Object). The default implementation of this method does nothing.

Take the argument state and write it into the output using the current ResponseWriter, which must be correctly positioned already.

If the StateManager.SerializedView is to be written out to hidden fields, the implementation must take care to make all necessary character replacements to make the Strings suitable for inclusion as an HTTP request paramater.

If the state saving method for this application is StateManager.STATE_SAVING_METHOD_CLIENT, the implementation may encrypt the state to be saved to the client. We recommend that the state be unreadable by the client, and also be tamper evident. The reference implementation follows these recommendations.

Parameters:
context - The FacesContext instance for the current request
state - The serialized state information previously saved
Throws:
IOException

getState

public Object getState(FacesContext context,
                       String viewId)

The implementation must inspect the current request and return an Object representing the tree structure and component state passed in to a previous invocation of writeState(javax.faces.context.FacesContext,java.lang.Object).

For backwards compatability with existing ResponseStateManager implementations, the default implementation of this method calls getTreeStructureToRestore(javax.faces.context.FacesContext, java.lang.String) and getComponentStateToRestore(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.

Parameters:
context - The FacesContext instance for the current request
viewId - View identifier of the view to be restored
Returns:
the tree structure and component state Object passed in to writeState. If this is an initial request, this method returns null.
Since:
1.2

getTreeStructureToRestore

public Object getTreeStructureToRestore(FacesContext context,
                                        String viewId)
Deprecated. This method has been replaced by getState(javax.faces.context.FacesContext, java.lang.String). The default implementation returns null.

The implementation must inspect the current request and return the tree structure Object passed to it on a previous invocation of writeState().

Parameters:
context - The FacesContext instance for the current request
viewId - View identifier of the view to be restored

getComponentStateToRestore

public Object getComponentStateToRestore(FacesContext context)
Deprecated. This method has been replaced by getState(javax.faces.context.FacesContext, java.lang.String). The default implementation returns null.

The implementation must inspect the current request and return the component state Object passed to it on a previous invocation of writeState().

Parameters:
context - The FacesContext instance for the current request

isPostback

public boolean isPostback(FacesContext context)

Return true if the current request is a postback. This method is leveraged from the Restore View Phase to determine if ViewHandler.restoreView(javax.faces.context.FacesContext, java.lang.String) or ViewHandler.createView(javax.faces.context.FacesContext, java.lang.String) should be called. The default implementation must return true if this ResponseStateManager instance wrote out state on a previous request to which this request is a postback, false otherwise.

The implementation if this method for the Standard HTML RenderKit must consult the ExternalContext's requestParameterMap and return true if and only if there is a key equal to the value of the symbolic constant VIEW_STATE_PARAM.

For backwards compatability with implementations of ResponseStateManager prior to JSF 1.2, a default implementation is provided that consults the ExternalContext's requestParameterMap and return true if its size is greater than 0.

Since:
1.2

Java EE 5 SDK

Submit a bug or feature

Copyright 2006 Sun Microsystems, Inc. All rights reserved.