public interface StateAwareResponse extends PortletResponse, MutableRenderState
StateAwareResponse
represents a response that can modify
render state information or send events.
If the render state is modified through this interface, the changes take effect for subsequent portlet render phase processing.
RenderState
,
PortletResponse
Modifier and Type | Method and Description |
---|---|
Map<String,String[]> |
getRenderParameterMap()
Deprecated.
As of version 3.0. Use
MutableRenderState.getRenderParameters() instead. |
void |
removePublicRenderParameter(String name)
Deprecated.
As of version 3.0. Use
MutableRenderState.getRenderParameters() instead. |
void |
setEvent(QName name,
Serializable value)
Publishes an Event with the given payload.
|
void |
setEvent(String name,
Serializable value)
Publishes an Event with the given payload in the default namespace.
|
void |
setRenderParameter(String key,
String... values)
Deprecated.
As of version 3.0. Use
MutableRenderState.getRenderParameters() instead. |
void |
setRenderParameter(String key,
String value)
Deprecated.
As of version 3.0. Use
MutableRenderState.getRenderParameters() instead. |
void |
setRenderParameters(Map<String,String[]> parameters)
Deprecated.
As of version 3.0. Use
MutableRenderState.getRenderParameters() instead. |
addProperty, addProperty, addProperty, createElement, encodeURL, getNamespace, getProperty, getPropertyNames, getPropertyValues, setProperty
getRenderParameters, setPortletMode, setWindowState
getPortletMode, getWindowState
@Deprecated void setRenderParameters(Map<String,String[]> parameters)
MutableRenderState.getRenderParameters()
instead.
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.
This method can be used to set both public and private render parameters.
These parameters will be accessible in all subsequent render calls via the PortletRequest.getParameter call until a new request is targeted to the portlet.
Any previously set private render parameter that is not contained in the new map is removed. However, public render parameters cannot be removed by excluding them from the map. Public render parameters that are not included in the map remain unchanged.
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
-
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 and may not be null or the empty string (""). The values in the parameter
map must be of type String array (String[]
).
The values array may not be null;
however, the values array elements may be null.
IllegalArgumentException
-
if parameters is null
, if any of the
keys in the Map are null
, if any of
the keys is not a String, or if any of the values is not a
String array.
IllegalStateException
- if the method is invoked after sendRedirect
has been called.@Deprecated void setRenderParameter(String key, String value)
MutableRenderState.getRenderParameters()
instead.These parameters will be accessible in all subsequent render calls until an action or render 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.
A parameter value of null
indicates that this
parameter should be removed.
However, an empty string value ("") is allowed.
key
- key of the render parametervalue
- value of the render parameterIllegalArgumentException
- if key is null
;
if an attempt is made to set a public render parameter to null
.
IllegalStateException
- if the method is invoked after sendRedirect
has been called.@Deprecated void setRenderParameter(String key, String... values)
MutableRenderState.getRenderParameters()
instead.These parameters will be accessible in all subsequent render calls until an action or render request is targeted to the portlet.
This method replaces all parameter values with the given key.
The given parameter do not need to be encoded prior to calling this method.
A values parameter of null
indicates that this
parameter should be removed.
If the values parameter is not null, elements of the array may be null.
key
- key of the render parametervalues
- values of the render parameterIllegalArgumentException
- if name is null
;
if an element of the values array is null
;
if an attempt is made to set a public render parameter to null
.
IllegalStateException
- if the method is invoked after sendRedirect
has been called.void setEvent(QName name, Serializable value)
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.
name
- the event name to publish, must not be null
value
- the value of this event, must have a valid JAXB binding and
be serializable, or null
.IllegalArgumentException
- if name is null
, 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.void setEvent(String name, Serializable value)
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.
name
- the local part of the event name to publish, must not be null
value
- the value of this event, must have a valid JAXB binding and
be serializable, or null
.IllegalArgumentException
- if name is null
, 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.@Deprecated Map<String,String[]> getRenderParameterMap()
MutableRenderState.getRenderParameters()
instead.Map
of the render parameters currently set on
this response.
The values in the returned Map
are of type String array (String[]
).
The contents of the returned map are immutable in the sense that modifying the map does not directly
affect the render parameters. In order to set the parameters using the modified map,
the setRenderParameters(Map)
method must be used.
If no parameters exist this method returns an empty Map
.
Map
containing render parameter names as keys and
parameter values as map values, or an empty Map
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[]
).@Deprecated void removePublicRenderParameter(String name)
MutableRenderState.getRenderParameters()
instead.public-render-parameter
element with the
identifier
mapping to the parameter name.name
- a String
specifying
the name of the public render parameter to be removedIllegalArgumentException
- if name is null
.Java Portlet 3.0 API Specification. See the Copyright and License provided with this distribution. Use is subject to license terms.