Interface StateAwareResponse
-
- All Superinterfaces:
PortletResponse
- All Known Subinterfaces:
ActionResponse
,EventResponse
- All Known Implementing Classes:
ActionResponseWrapper
,EventResponseWrapper
public interface StateAwareResponse extends PortletResponse
TheStateAwareResponse
represents a response that can modify state information or send events.
It extends the PortletResponse interface.- Since:
- 2.0
- See Also:
PortletResponse
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description PortletMode
getPortletMode()
Returns the currently set portlet mode on this reponse.java.util.Map<java.lang.String,java.lang.String[]>
getRenderParameterMap()
Returns aMap
of the render parameters currently set on this response.WindowState
getWindowState()
Returns the currently set window state on this response.void
removePublicRenderParameter(java.lang.String name)
Removes the specified public render parameter.void
setEvent(java.lang.String name, java.io.Serializable value)
Publishes an Event with the given payload in the default namespace.void
setEvent(javax.xml.namespace.QName name, java.io.Serializable value)
Publishes an Event with the given payload.void
setPortletMode(PortletMode portletMode)
Sets the portlet mode of a portlet to the given portlet mode.void
setRenderParameter(java.lang.String key, java.lang.String value)
Sets a String parameter for the render request.void
setRenderParameter(java.lang.String key, java.lang.String[] values)
Sets a String array parameter for the render request.void
setRenderParameters(java.util.Map<java.lang.String,java.lang.String[]> parameters)
Sets a parameter map for the render request.void
setWindowState(WindowState windowState)
Sets the window state of a portlet to the given window state.-
Methods inherited from interface javax.portlet.PortletResponse
addProperty, addProperty, addProperty, createElement, encodeURL, getNamespace, setProperty
-
-
-
-
Method Detail
-
setWindowState
void setWindowState(WindowState windowState) throws WindowStateException
Sets the window state of a portlet to the given window state.Possible values are the standard window states and any custom window states supported by the portal and the portlet. Standard window states are:
- MINIMIZED
- NORMAL
- MAXIMIZED
- Parameters:
windowState
- the new portlet window state- Throws:
WindowStateException
- if the portlet cannot switch to the specified window state. To avoid this exception the portlet can check the allowed window states withRequest.isWindowStateAllowed()
.java.lang.IllegalStateException
- if the method is invoked aftersendRedirect
has been called.- See Also:
WindowState
-
setPortletMode
void setPortletMode(PortletMode portletMode) throws PortletModeException
Sets the portlet mode of a portlet to the given portlet mode.Possible values are the standard portlet modes and any custom portlet modes supported by the portal and the portlet. Portlets must declare in the deployment descriptor the portlet modes they support for each markup type. Standard portlet modes are:
- EDIT
- HELP
- VIEW
Note: The portlet may still be called in a different window state in the next render call, depending on the portlet container / portal.
- Parameters:
portletMode
- the new portlet mode- Throws:
PortletModeException
- if the portlet cannot switch to this portlet mode, because the portlet or portal does not support it for this markup, or the current user is not allowed to switch to this portlet mode. To avoid this exception the portlet can check the allowed portlet modes withRequest.isPortletModeAllowed()
.java.lang.IllegalStateException
- if the method is invoked aftersendRedirect
has been called.
-
setRenderParameters
void setRenderParameters(java.util.Map<java.lang.String,java.lang.String[]> parameters)
Sets a parameter map for the render request.All previously set render parameters are cleared.
These parameters will be accessible in all sub-sequent render calls via the
PortletRequest.getParameter
call until a new request is targeted to the portlet.The given parameters do not need to be encoded prior to calling this method.
The portlet should not modify the map any further after calling this method.
- Parameters:
parameters
- Map containing parameter names for the render phase as keys and parameter values as map values. The keys in the parameter map must be of type String. The values in the parameter map must be of type String array (String[]
).- Throws:
java.lang.IllegalArgumentException
- if parameters isnull
, if any of the keys in the Map arenull
, if any of the keys is not a String, or if any of the values is not a String array.java.lang.IllegalStateException
- if the method is invoked aftersendRedirect
has been called.
-
setRenderParameter
void setRenderParameter(java.lang.String key, java.lang.String value)
Sets a String parameter for the render request.These parameters will be accessible in all sub-sequent render calls via the
PortletRequest.getParameter
call until a request is targeted to the portlet.This method replaces all parameters with the given key.
The given parameter do not need to be encoded prior to calling this method.
- Parameters:
key
- key of the render parametervalue
- value of the render parameter- Throws:
java.lang.IllegalArgumentException
- if key isnull
.java.lang.IllegalStateException
- if the method is invoked aftersendRedirect
has been called.
-
setRenderParameter
void setRenderParameter(java.lang.String key, java.lang.String[] values)
Sets a String array parameter for the render request.These parameters will be accessible in all sub-sequent render calls via the
PortletRequest.getParameter
call until a request is targeted to the portlet.This method replaces all parameters with the given key.
The given parameter do not need to be encoded prior to calling this method.
- Parameters:
key
- key of the render parametervalues
- values of the render parameter- Throws:
java.lang.IllegalArgumentException
- if key or value arenull
.java.lang.IllegalStateException
- if the method is invoked aftersendRedirect
has been called.
-
setEvent
void setEvent(javax.xml.namespace.QName name, java.io.Serializable value)
Publishes an Event with the given payload.The object type of the value must be compliant with the specified event type in the portlet deployment descriptor.
The value must have a valid JAXB binding and be serializable.
- Parameters:
name
- the event name to publish, must not benull
value
- the value of this event, must have a valid JAXB binding and be serializable, ornull
.- Throws:
java.lang.IllegalArgumentException
- if name isnull
, the value is not serializable, the value does not have a valid JAXB binding, the object type of the value is not the same as specified in the portlet deployment descriptor for this event name.- Since:
- 2.0
-
setEvent
void setEvent(java.lang.String name, java.io.Serializable value)
Publishes an Event with the given payload in the default namespace.The name is treated as local part of the event QName and the namespace is either taken from the
default-event-namespace
element in the portlet deployment descriptor, or if this element is not provided the XML default namespace XMLConstants.NULL_NS_URI is used.The object type of the value must be compliant with the specified event type in the portlet deployment descriptor.
The value must have a valid JAXB binding and be serializable.
- Parameters:
name
- the local part of the event name to publish, must not benull
value
- the value of this event, must have a valid JAXB binding and be serializable, ornull
.- Throws:
java.lang.IllegalArgumentException
- if name isnull
, the value is not serializable, the value does not have a valid JAXB binding, the object type of the value is not the same as specified in the portlet deployment descriptor for this event name.- Since:
- 2.0
-
getRenderParameterMap
java.util.Map<java.lang.String,java.lang.String[]> getRenderParameterMap()
Returns aMap
of the render parameters currently set on this response.The values in the returned
Map
are from type String array (String[]
).If no parameters exist this method returns an empty
Map
.- Returns:
Map
containing render parameter names as keys and parameter values as map values, or an emptyMap
if no parameters exist. The keys in the parameter map are of type String. The values in the parameter map are of type String array (String[]
).- Since:
- 2.0
-
getPortletMode
PortletMode getPortletMode()
Returns the currently set portlet mode on this reponse.- Returns:
- the portlet mode, or
null
if none is set - Since:
- 2.0
-
getWindowState
WindowState getWindowState()
Returns the currently set window state on this response.- Returns:
- the window state, or
null
if none is set - Since:
- 2.0
-
removePublicRenderParameter
void removePublicRenderParameter(java.lang.String name)
Removes the specified public render parameter. The name must reference a public render parameter defined in the portlet deployment descriptor under thepublic-render-parameter
element with theidentifier
mapping to the parameter name.- Parameters:
name
- aString
specifying the name of the public render parameter to be removed- Throws:
java.lang.IllegalArgumentException
- if name isnull
.- Since:
- 2.0
-
-