Class ClientSideStateHelper

java.lang.Object
com.sun.faces.renderkit.StateHelper
com.sun.faces.renderkit.ClientSideStateHelper

public class ClientSideStateHelper extends StateHelper

This StateHelper provides the functionality associated with client-side state saving.

  • Field Details

  • Constructor Details

    • ClientSideStateHelper

      public ClientSideStateHelper()
      Construct a new ClientSideStateHelper instance.
  • Method Details

    • writeState

      public void writeState(FacesContext ctx, Object state, StringBuilder stateCapture) throws IOException

      Writes the view state as a String generated by Base64 encoding the Java Serialziation representation of the provided state

      If stateCapture is null, the Base64 encoded state will be written to the client as a hidden field using the ResponseWriter from the provided FacesContext.

      If stateCapture is not null, the Base64 encoded state will be appended to the provided StringBuilder without any markup included or any content written to the client.

      Specified by:
      writeState in class StateHelper
      Throws:
      IOException
      See Also:
    • getState

      public Object getState(FacesContext ctx, String viewId) throws IOException

      Inspects the incoming request parameters for the standardized state parameter name. In this case, the parameter value will be a Base64 encoded string previously encoded by ServerSideStateHelper#writeState(FacesContext, Object, StringBuilder).

      The string will be Base64-decoded and the state reconstructed using standard Java serialization.

      Specified by:
      getState in class StateHelper
      Throws:
      IOException
      See Also:
    • doGetState

      protected Object doGetState(FacesContext ctx, String stateString)
      Rebuilds the view state from the Base64 included String included with the request.
      Parameters:
      stateString - the Base64 encoded view state
      Returns:
      the view state reconstructed from stateString
    • doWriteState

      protected void doWriteState(FacesContext facesContext, Object state, Writer writer) throws IOException
      Serializes and Base64 encodes the provided state to the provided writer/
      Parameters:
      facesContext - the Faces context.
      state - view state
      writer - the Writer to write the content to
      Throws:
      IOException - if an error occurs writing the state to the client
    • hasStateExpired

      protected boolean hasStateExpired(long stateTime)

      If the WebConfiguration.WebContextInitParameter.ClientStateTimeout init parameter is set, calculate the elapsed time between the time the client state was written and the time this method was invoked during restore. If the client state has expired, return true. If the client state hasn't expired, or the init parameter wasn't set, return false.

      Parameters:
      stateTime - the time in milliseconds that the state was written to the client
      Returns:
      false if the client state hasn't timed out, otherwise return true
    • init

      protected void init()

      Initialze the various configuration options for client-side sate saving.

    • isStateless

      public boolean isStateless(FacesContext facesContext, String viewId) throws IllegalStateException
      Is stateless.
      Specified by:
      isStateless in class StateHelper
      Parameters:
      facesContext - the Faces context.
      viewId - the view id.
      Returns:
      true if stateless, false otherwise.
      Throws:
      IllegalStateException - when the request was not a postback.
      See Also: