org.jboss.seam.jsf
Class SeamStateManager

java.lang.Object
  extended by javax.faces.application.StateManager
      extended by org.jboss.seam.jsf.SeamStateManager

public class SeamStateManager
extends javax.faces.application.StateManager

A wrapper for the JSF implementation's StateManager that allows us to intercept saving of the serialized component tree. This is quite ugly but was needed in order to allow conversations to be started and manipulated during the RENDER_RESPONSE phase.

Author:
Gavin King

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.faces.application.StateManager
javax.faces.application.StateManager.SerializedView
 
Field Summary
 
Fields inherited from class javax.faces.application.StateManager
STATE_SAVING_METHOD_CLIENT, STATE_SAVING_METHOD_PARAM_NAME, STATE_SAVING_METHOD_SERVER
 
Constructor Summary
SeamStateManager(javax.faces.application.StateManager sm)
           
 
Method Summary
protected  Object getComponentStateToSave(javax.faces.context.FacesContext ctx)
           
protected  Object getTreeStructureToSave(javax.faces.context.FacesContext ctx)
           
 boolean isSavingStateInClient(javax.faces.context.FacesContext ctx)
           
protected  void restoreComponentState(javax.faces.context.FacesContext ctx, javax.faces.component.UIViewRoot viewRoot, String str)
           
protected  javax.faces.component.UIViewRoot restoreTreeStructure(javax.faces.context.FacesContext ctx, String str1, String str2)
           
 javax.faces.component.UIViewRoot restoreView(javax.faces.context.FacesContext ctx, String str1, String str2)
           
 javax.faces.application.StateManager.SerializedView saveSerializedView(javax.faces.context.FacesContext facesContext)
           
 Object saveView(javax.faces.context.FacesContext facesContext)
           
 void writeState(javax.faces.context.FacesContext ctx, Object sv)
           
 void writeState(javax.faces.context.FacesContext ctx, javax.faces.application.StateManager.SerializedView sv)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SeamStateManager

public SeamStateManager(javax.faces.application.StateManager sm)
Method Detail

getComponentStateToSave

protected Object getComponentStateToSave(javax.faces.context.FacesContext ctx)
Overrides:
getComponentStateToSave in class javax.faces.application.StateManager

getTreeStructureToSave

protected Object getTreeStructureToSave(javax.faces.context.FacesContext ctx)
Overrides:
getTreeStructureToSave in class javax.faces.application.StateManager

restoreComponentState

protected void restoreComponentState(javax.faces.context.FacesContext ctx,
                                     javax.faces.component.UIViewRoot viewRoot,
                                     String str)
Overrides:
restoreComponentState in class javax.faces.application.StateManager

restoreTreeStructure

protected javax.faces.component.UIViewRoot restoreTreeStructure(javax.faces.context.FacesContext ctx,
                                                                String str1,
                                                                String str2)
Overrides:
restoreTreeStructure in class javax.faces.application.StateManager

saveSerializedView

public javax.faces.application.StateManager.SerializedView saveSerializedView(javax.faces.context.FacesContext facesContext)
Overrides:
saveSerializedView in class javax.faces.application.StateManager

writeState

public void writeState(javax.faces.context.FacesContext ctx,
                       javax.faces.application.StateManager.SerializedView sv)
                throws IOException
Overrides:
writeState in class javax.faces.application.StateManager
Throws:
IOException

restoreView

public javax.faces.component.UIViewRoot restoreView(javax.faces.context.FacesContext ctx,
                                                    String str1,
                                                    String str2)
Specified by:
restoreView in class javax.faces.application.StateManager

saveView

public Object saveView(javax.faces.context.FacesContext facesContext)
Overrides:
saveView in class javax.faces.application.StateManager

writeState

public void writeState(javax.faces.context.FacesContext ctx,
                       Object sv)
                throws IOException
Overrides:
writeState in class javax.faces.application.StateManager
Throws:
IOException

isSavingStateInClient

public boolean isSavingStateInClient(javax.faces.context.FacesContext ctx)
Overrides:
isSavingStateInClient in class javax.faces.application.StateManager