StateHelper
provides the functionality associated with server-side state saving, though in
actuality, it is a hybrid between client and server.-
Field Summary
Modifier and TypeFieldDescriptionprotected boolean
Flag determining how server state IDs are generated.static final String
The top level attribute name for storing the state structures within the session.protected final Integer
The number of logical views as configured by the user.protected final Integer
The number of views as configured by the user.protected final SecureRandom
Used to generate unique server state IDs.static final String
Key to store theAtomicInteger
used to generate unique state map keys.Fields inherited from class com.sun.faces.renderkit.StateHelper
compressViewState, fieldEnd, fieldMiddle, serialProvider, stateFieldStart, webConfig
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected Integer
Utility method for obtaining theInteger
based configuration values used to change the behavior of theServerSideStateHelper
.getState
(FacesContext ctx, String viewId) Inspects the incoming request parameters for the standardized state parameter name.protected Object
handleRestoreState
(Object state) protected Object
handleSaveState
(Object state) boolean
isStateless
(FacesContext facesContext, String viewId) Is stateless.void
writeState
(FacesContext ctx, Object state, StringBuilder stateCapture) Stores the provided state within the session obtained from the providedFacesContext
Methods inherited from class com.sun.faces.renderkit.StateHelper
createAndStoreCryptographicallyStrongTokenInSession, getCryptographicallyStrongTokenFromSession, getStateParamValue, writeClientWindowField, writeRenderKitIdField
-
Field Details
-
STATEMANAGED_SERIAL_ID_KEY
Key to store theAtomicInteger
used to generate unique state map keys. -
LOGICAL_VIEW_MAP
The top level attribute name for storing the state structures within the session. -
numberOfLogicalViews
The number of logical views as configured by the user. -
numberOfViews
The number of views as configured by the user. -
generateUniqueStateIds
protected boolean generateUniqueStateIdsFlag determining how server state IDs are generated. -
random
Used to generate unique server state IDs.
-
-
Constructor Details
-
ServerSideStateHelper
public ServerSideStateHelper()Construct a newServerSideStateHelper
instance.
-
-
Method Details
-
writeState
public void writeState(FacesContext ctx, Object state, StringBuilder stateCapture) throws IOException Stores the provided state within the session obtained from the provided
FacesContext
If
stateCapture
isnull
, the composite key used to look up the actual and logical views will be written to the client as a hidden field using theResponseWriter
from the providedFacesContext
.If
stateCapture
is notnull
, the composite key will be appended to theStringBuilder
without any markup included or any content written to the client.- Specified by:
writeState
in classStateHelper
- Throws:
IOException
- See Also:
-
getState
Inspects the incoming request parameters for the standardized state parameter name. In this case, the parameter value will be the composite ID generated by ServerSideStateHelper#writeState(FacesContext, Object, StringBuilder).
The composite key will be used to find the appropriate view within the session obtained from the provided
FacesContext
- Specified by:
getState
in classStateHelper
- See Also:
-
getIntegerConfigValue
Utility method for obtaining the
Integer
based configuration values used to change the behavior of theServerSideStateHelper
.- Parameters:
param
- the paramter to parse- Returns:
- the Integer representation of the parameter value
-
handleSaveState
-
handleRestoreState
-
isStateless
Is stateless.- Specified by:
isStateless
in classStateHelper
- 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:
-