org.apache.myfaces.custom.redirectTracker
Class RedirectTrackerManager

java.lang.Object
  extended by org.apache.myfaces.custom.redirectTracker.RedirectTrackerManager
All Implemented Interfaces:
java.io.Serializable

public class RedirectTrackerManager
extends java.lang.Object
implements java.io.Serializable

The redirect tracker maintains a list/map of data needed to restore the myfaces system after a navigation redirect

See Also:
Serialized Form

Field Summary
static java.lang.String REDIRECT_ARG
           
static java.lang.String SESSION_KEY
           
static int TRACK_REDIRECTS
           
 
Constructor Summary
RedirectTrackerManager(int redirects, java.lang.String redirectTrackerPolicy)
          Instantiate the tracker
 
Method Summary
 void addSaveStateBean(java.lang.String expressionString, java.lang.Object value)
          Add the object to the current request holder
 void clearSaveStateBean()
          request done, clear saveState beanmap
protected static RedirectTrackerManager createRedirectTrackerManager(javax.faces.context.FacesContext facesContext)
          create a new redirect tracker
static RedirectTrackerManager getInstance(javax.faces.context.FacesContext facesContext)
          access the redirect tracker
protected  long getNextRequestNo()
          get the next request number
protected  RedirectTrackerPolicy getRedirectTrackerPolicy()
           
protected  java.util.Map getRequestBeanMap()
           
protected  void initRedirectEntryMap()
           
protected  boolean isRedirectedRequest(java.lang.Object rtid)
          check to see if the request parameter contains the identifier to the saved states
 void processTrackedRequest(javax.faces.context.FacesContext facesContext)
          check if this was a redirect, and if, process it
protected  void restoreBeans(javax.faces.context.FacesContext facesContext, org.apache.myfaces.custom.redirectTracker.RedirectTrackerManager.Entry entry)
           
protected  void restoreLocale(javax.faces.context.FacesContext facesContext, org.apache.myfaces.custom.redirectTracker.RedirectTrackerManager.Entry entry)
           
protected  void restoreMessages(javax.faces.context.FacesContext facesContext, org.apache.myfaces.custom.redirectTracker.RedirectTrackerManager.Entry entry)
           
protected  void saveBean(org.apache.myfaces.custom.redirectTracker.RedirectTrackerManager.Entry entry, java.lang.String name, java.lang.Object value)
           
protected  void saveBeans(org.apache.myfaces.custom.redirectTracker.RedirectTrackerManager.Entry entry)
           
protected  void saveLocale(javax.faces.context.FacesContext facesContext, org.apache.myfaces.custom.redirectTracker.RedirectTrackerManager.Entry entry)
           
protected  void saveMessages(javax.faces.context.FacesContext facesContext, org.apache.myfaces.custom.redirectTracker.RedirectTrackerManager.Entry entry)
           
protected  void setupFaces(javax.faces.context.FacesContext facesContext, java.lang.Object rtid)
          resetup faces after redirect request
 java.lang.String trackRedirect(javax.faces.context.FacesContext facesContext, java.lang.String redirectPath)
          add the current state to the redirect map/list
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TRACK_REDIRECTS

public static final int TRACK_REDIRECTS
See Also:
Constant Field Values

SESSION_KEY

public static final java.lang.String SESSION_KEY

REDIRECT_ARG

public static final java.lang.String REDIRECT_ARG
See Also:
Constant Field Values
Constructor Detail

RedirectTrackerManager

public RedirectTrackerManager(int redirects,
                              java.lang.String redirectTrackerPolicy)
Instantiate the tracker

Parameters:
redirects - nuof redirects to track
Method Detail

initRedirectEntryMap

protected void initRedirectEntryMap()

processTrackedRequest

public void processTrackedRequest(javax.faces.context.FacesContext facesContext)
check if this was a redirect, and if, process it


isRedirectedRequest

protected boolean isRedirectedRequest(java.lang.Object rtid)
check to see if the request parameter contains the identifier to the saved states


getInstance

public static RedirectTrackerManager getInstance(javax.faces.context.FacesContext facesContext)
access the redirect tracker


createRedirectTrackerManager

protected static RedirectTrackerManager createRedirectTrackerManager(javax.faces.context.FacesContext facesContext)
create a new redirect tracker


trackRedirect

public java.lang.String trackRedirect(javax.faces.context.FacesContext facesContext,
                                      java.lang.String redirectPath)
add the current state to the redirect map/list

Returns:
the new path used for redirect

getRedirectTrackerPolicy

protected RedirectTrackerPolicy getRedirectTrackerPolicy()

saveBeans

protected void saveBeans(org.apache.myfaces.custom.redirectTracker.RedirectTrackerManager.Entry entry)

saveBean

protected void saveBean(org.apache.myfaces.custom.redirectTracker.RedirectTrackerManager.Entry entry,
                        java.lang.String name,
                        java.lang.Object value)

addSaveStateBean

public void addSaveStateBean(java.lang.String expressionString,
                             java.lang.Object value)
Add the object to the current request holder


getRequestBeanMap

protected java.util.Map getRequestBeanMap()

clearSaveStateBean

public void clearSaveStateBean()
request done, clear saveState beanmap


saveMessages

protected void saveMessages(javax.faces.context.FacesContext facesContext,
                            org.apache.myfaces.custom.redirectTracker.RedirectTrackerManager.Entry entry)

restoreMessages

protected void restoreMessages(javax.faces.context.FacesContext facesContext,
                               org.apache.myfaces.custom.redirectTracker.RedirectTrackerManager.Entry entry)

saveLocale

protected void saveLocale(javax.faces.context.FacesContext facesContext,
                          org.apache.myfaces.custom.redirectTracker.RedirectTrackerManager.Entry entry)

restoreLocale

protected void restoreLocale(javax.faces.context.FacesContext facesContext,
                             org.apache.myfaces.custom.redirectTracker.RedirectTrackerManager.Entry entry)

setupFaces

protected void setupFaces(javax.faces.context.FacesContext facesContext,
                          java.lang.Object rtid)
resetup faces after redirect request


restoreBeans

protected void restoreBeans(javax.faces.context.FacesContext facesContext,
                            org.apache.myfaces.custom.redirectTracker.RedirectTrackerManager.Entry entry)

getNextRequestNo

protected long getNextRequestNo()
get the next request number



Copyright © 2011 The Apache Software Foundation. All Rights Reserved.