org.gatein.pc.controller.state.StateControllerContext Maven / Gradle / Ivy
package org.gatein.pc.controller.state;
import org.gatein.pc.controller.ControllerContext;
import java.util.Map;
/** @author Julien Viet */
public interface StateControllerContext
{
/**
* Update the public navigational state of a portlet window. The interpretation of what should be updated is left up
* to the implementor. An example of implementation would use the mapping between qname and name provided by the referenced
* portlet info.
*
* The update argument values with a length of zero should be treated as removals.
*
* @param controller the controller
* @param page the page
* @param portletWindowId the portlet window id
* @param update the updates
* @throws IllegalArgumentException if an argument is not valid
* @throws IllegalStateException if the page state is read only
*/
void updatePublicNavigationalState(
ControllerContext controller,
PageNavigationalState page,
String portletWindowId,
Map update);
/**
* Obtain the public navigational state of a portlet window. The interpretation of what should be retrieved is left up
* to the implementor. An example of implementation would use the mapping between qnames and name provided by the
* referenced portlet info.
*
* @param controller the controller
* @param page the page
* @param windowId the portlet window id @return the portlet public navigational state
* @throws IllegalArgumentException if an argument is not valid
*/
Map getPublicWindowNavigationalState(
ControllerContext controller,
PageNavigationalState page,
String windowId);
}