public class ClientSideStateHelper extends StateHelper
This StateHelper
provides the functionality associated with client-side state saving.
Modifier and Type | Class and Description |
---|---|
protected static class |
ClientSideStateHelper.StringBuilderWriter
A simple
Writer implementation to encapsulate a
StringBuilder instance. |
compressViewState, fieldEnd, fieldMiddle, serialProvider, stateFieldStart, webConfig
Constructor and Description |
---|
ClientSideStateHelper()
Construct a new
ClientSideStateHelper instance. |
Modifier and Type | Method and Description |
---|---|
protected Object |
doGetState(FacesContext ctx,
String stateString)
Rebuilds the view state from the Base64 included String included
with the request.
|
protected void |
doWriteState(FacesContext facesContext,
Object state,
Writer writer)
Serializes and Base64 encodes the provided
state to the
provided writer / |
Object |
getState(FacesContext ctx,
String viewId)
Inspects the incoming request parameters for the standardized state
parameter name.
|
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. |
protected void |
init()
Initialze the various configuration options for client-side
sate saving.
|
boolean |
isStateless(FacesContext facesContext,
String viewId)
Is stateless.
|
void |
writeState(FacesContext ctx,
Object state,
StringBuilder stateCapture)
Writes the view state as a String generated by Base64 encoding the
Java Serialziation representation of the provided
state |
createAndStoreCryptographicallyStrongTokenInSession, getCryptographicallyStrongTokenFromSession, getStateParamValue, writeClientWindowField, writeRenderKitIdField
public ClientSideStateHelper()
ClientSideStateHelper
instance.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.
writeState
in class StateHelper
IOException
StateHelper.writeState(javax.faces.context.FacesContext, java.lang.Object, java.lang.StringBuilder)
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.
getState
in class StateHelper
IOException
StateHelper.getState(javax.faces.context.FacesContext, java.lang.String)
protected Object doGetState(FacesContext ctx, String stateString)
stateString
- the Base64 encoded view statestateString
protected void doWriteState(FacesContext facesContext, Object state, Writer writer) throws IOException
state
to the
provided writer
/facesContext
- the Faces context.state
- view statewriter
- the Writer
to write the content toIOException
- if an error occurs writing the state to the clientprotected 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
.
stateTime
- the time in milliseconds that the state was written
to the clientfalse
if the client state hasn't timed out, otherwise
return true
protected void init()
Initialze the various configuration options for client-side sate saving.
public boolean isStateless(FacesContext facesContext, String viewId) throws IllegalStateException
isStateless
in class StateHelper
facesContext
- the Faces context.viewId
- the view id.IllegalStateException
- when the request was not a postback.ResponseStateManager.isStateless(javax.faces.context.FacesContext, String)
Comments to: faces-dev@eclipse.org.
Copyright © 2019 Eclipse Foundation. All rights reserved.
Use is subject to license terms.