Interface ResourceResponse
-
- All Superinterfaces:
MimeResponse
,PortletResponse
- All Known Implementing Classes:
ResourceResponseWrapper
public interface ResourceResponse extends MimeResponse
TheResourceResponse
defines an object to assist a portlet for rendering a resource.The difference between the
RenderResponse
is that for theResourceResponse
the output of this response is delivered directly to the client without any additional markup added by the portal. It is therefore allowed for the portlet to return binary content in this response.A portlet can set HTTP headers for the response via the setProperty or addProperty call in the
ResourceResponse
. To be successfully transmitted back to the client, headers must be set before the response is committed. Headers set after the response is committed will be ignored by the portlet container.The portlet container creates a
ResourceResponse
object and passes it as argument to the portlet'sserveResource
method.- Since:
- 2.0
- See Also:
ResourceServingPortlet
,MimeResponse
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
HTTP_STATUS_CODE
Constant for setting the HTTP status code via thesetProperty
method.-
Fields inherited from interface javax.portlet.MimeResponse
CACHE_SCOPE, ETAG, EXPIRATION_CACHE, MARKUP_HEAD_ELEMENT, NAMESPACED_RESPONSE, PRIVATE_SCOPE, PUBLIC_SCOPE, USE_CACHED_CONTENT
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description PortletURL
createActionURL()
Creates a portlet URL targeting the portlet.PortletURL
createRenderURL()
Creates a portlet URL targeting the portlet.ResourceURL
createResourceURL()
Creates a portlet URL targeting the portlet.void
setCharacterEncoding(java.lang.String charset)
Sets the character encoding (MIME charset) of the response being sent to the client, for example, to UTF-8.void
setContentLength(int len)
Sets the length of the content body in the response.void
setLocale(java.util.Locale loc)
Sets the locale of the response, setting the headers (including the Content-Type's charset) as appropriate.-
Methods inherited from interface javax.portlet.MimeResponse
flushBuffer, getBufferSize, getCacheControl, getCharacterEncoding, getContentType, getLocale, getPortletOutputStream, getWriter, isCommitted, reset, resetBuffer, setBufferSize, setContentType
-
Methods inherited from interface javax.portlet.PortletResponse
addProperty, addProperty, addProperty, createElement, encodeURL, getNamespace, setProperty
-
-
-
-
Field Detail
-
HTTP_STATUS_CODE
static final java.lang.String HTTP_STATUS_CODE
Constant for setting the HTTP status code via thesetProperty
method.- See Also:
- Constant Field Values
-
-
Method Detail
-
setLocale
void setLocale(java.util.Locale loc)
Sets the locale of the response, setting the headers (including the Content-Type's charset) as appropriate. This method should be called before a call to getWriter(). By default, the response locale is the default locale provided by the portlet container.- Parameters:
loc
- the new locale of the response
-
setCharacterEncoding
void setCharacterEncoding(java.lang.String charset)
Sets the character encoding (MIME charset) of the response being sent to the client, for example, to UTF-8. If the character encoding has already been set by either the portlet container,setContentType(java.lang.String)
orsetLocale(java.util.Locale)
, this method overrides it. CallingsetContentType(java.lang.String)
with the String oftext/html
and calling this method with the String ofUTF-8
is equivalent with callingsetContentType
with the String oftext/html; charset=UTF-8
.This method can be called repeatedly to change the character encoding. This method has no effect if it is called after getWriter has been called or after the response has been committed.
- Parameters:
charset
- a String specifying only the character set defined by IANA Character Sets (http://www.iana.org/assignments/character-sets)
-
setContentLength
void setContentLength(int len)
Sets the length of the content body in the response.- Parameters:
len
- an integer specifying the length of the content being returned
-
createRenderURL
PortletURL createRenderURL()
Description copied from interface:MimeResponse
Creates a portlet URL targeting the portlet. If no portlet mode, window state or security modifier is set in the PortletURL the current values are preserved. If a request is triggered by the PortletURL, it results in a render request.The returned URL can be further extended by adding portlet-specific parameters and portlet modes and window states.
The created URL will per default not contain any parameters of the current render request.
- Specified by:
createRenderURL
in interfaceMimeResponse
- Returns:
- a portlet render URL
- Throws:
java.lang.IllegalStateException
- if the cacheability level of the resource URL triggering thisserveResource
call is notPAGE
and thus does not allow for creating render URLs.
-
createActionURL
PortletURL createActionURL()
Description copied from interface:MimeResponse
Creates a portlet URL targeting the portlet. If no portlet mode, window state or security modifier is set in the PortletURL the current values are preserved. If a request is triggered by the PortletURL, it results in an action request.The returned URL can be further extended by adding portlet-specific parameters and portlet modes and window states.
The created URL will per default not contain any parameters of the current render request.
- Specified by:
createActionURL
in interfaceMimeResponse
- Returns:
- a portlet action URL
- Throws:
java.lang.IllegalStateException
- if the cacheability level of the resource URL triggering thisserveResource
call is notPAGE
and thus does not allow for creating action URLs.
-
createResourceURL
ResourceURL createResourceURL()
Description copied from interface:MimeResponse
Creates a portlet URL targeting the portlet. If no security modifier is set in the PortletURL the current values are preserved. The current render parameters, portlet mode and window state are preserved.If a request is triggered by the PortletURL, it results in a serve resource request of the
ResourceServingPortlet
interface.The returned URL can be further extended by adding portlet-specific parameters .
The created URL will per default contain the current cacheability setting of the parent resource. If no parent resource is available,
PAGE
is the default.- Specified by:
createResourceURL
in interfaceMimeResponse
- Returns:
- a portlet resource URL
- Throws:
java.lang.IllegalStateException
- if the cacheability level of the resource URL triggering thisserveResource
call, or one of the parent calls, have defined a stricter cachability level.
-
-