| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface MutableNavigationalState
MutableNavigationalState
 Allows changing the PortletMode and/or WindowState of a PortletWindow state.
 
 This interface extends the NavigationState interface to cleanly define the immutable contract of the latter.
 
 Note: this is actually an ugly hack into the Portal as formally (per the portlet specs) the PortletMode and/or
 WindowState are only to be modified *and* then retained for the *next* subsequent renderRequest.
 
 This interface is used for support of the Pluto required PortalActionProvider implementation (which definition
 is not undisputed, see: [todo: link to pluto-dev "Why PortalActionProvider?" mail discussion]).
 
 Furthermore, this interface is also used by the Jetspeed-1 JetspeedFusionPortlet to synchronize the NavigationalState.
 Under which conditions that is done isn't clear yet (to me) but possibly that can/should be done differently also.
 
 Modifying the Navigational State *during* a renderRequest (before the actual) rendering can result in a lost of these new states on a
 subsequent refresh of the Portlet if that doesn't trigger changing them again, because the state of these changes is
 only saved in PortletURLs created during the renderRequest, *not* in the session (if SessionNavigationalState is used).
 The session state has already been synchronized (if done) *before* these methods can be called.
 
 Modifying the Navigational State *during* an actionRequest, as done by Pluto through the PortalActionProvider
 interface just before it sends a redirect, is kinda strange as it can more cleanly be done through the
 its PortalURLProvider interface (see above link to the mail discussion about this).
| Field Summary | 
|---|
| Fields inherited from interface org.apache.jetspeed.container.state.NavigationalState | 
|---|
| NAVSTATE_SESSION_KEY | 
| Method Summary | |
|---|---|
|  void | clearParameters(org.apache.pluto.om.window.PortletWindow window)Clear the request parameters to emulate an action reset | 
|  void | removeState(org.apache.pluto.om.window.PortletWindow window)Remove state for the given (possibly invalid) portlet window | 
|  void | setMode(org.apache.pluto.om.window.PortletWindow window,
        javax.portlet.PortletMode portletMode)Sets the portlet mode for the given portlet window. | 
|  void | setState(org.apache.pluto.om.window.PortletWindow window,
         javax.portlet.WindowState windowState)Sets the window state for the given portlet window. | 
| Methods inherited from interface org.apache.jetspeed.container.state.NavigationalState | 
|---|
| encode, encode, encode, getMappedMode, getMappedMode, getMappedState, getMappedState, getMaximizedWindow, getMode, getMode, getParameterNames, getParameterValues, getPortletWindowOfAction, getPortletWindowOfResource, getState, getState, getWindowIdIterator, init, isNavigationalParameterStateFull, isRenderParameterStateFull, sync | 
| Method Detail | 
|---|
void setState(org.apache.pluto.om.window.PortletWindow window,
              javax.portlet.WindowState windowState)
window - windowState - 
void setMode(org.apache.pluto.om.window.PortletWindow window,
             javax.portlet.PortletMode portletMode)
window - portletMode - void clearParameters(org.apache.pluto.om.window.PortletWindow window)
window - void removeState(org.apache.pluto.om.window.PortletWindow window)
| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||