Interface ResourceURL
-
- All Superinterfaces:
BaseURL,RenderState
- All Known Implementing Classes:
ResourceURLWrapper
public interface ResourceURL extends BaseURL
TheResourceURLdefines a resource URL that when clicked will result in aserveResourcecall of theResourceServingPortletinterface.Each resource URL has a specific cache level assigned with it. This level can be either
FULL, PORTLETorPAGEand denotes the cacheability of the resource in the browser.The default cache level of a resource URL is either the cache level of the parent resource URL, or
PAGEif no parent resource URL is available.- Since:
- 2.0
-
-
Field Summary
Fields Modifier and Type Field Description static StringFULLThe URL of typeFULLdoes not need to contain the current state of the page or the current render parameters, portlet mode, or window state of the portlet.static StringPAGEThe URL of typePAGEmay contain artifacts that require knowledge of the state of the complete page, likePortletURLs.static StringPORTLETThe URL of typePORTLRETdoes not need to contain the current state of the page, but the current render parameters, portlet mode, or window state of the portlet must be accessible to the portlet.static StringSHAREDProperty that the portlet can set for resources with caching typeFULLvia thesetPropertymethod on theResourceURL.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description StringgetCacheability()Returns the cache level of this resource URL.StringgetResourceID()Returns the resource ID set on the ResourceURL ornullif no resource ID was set on the URL.MutableResourceParametersgetResourceParameters()Gets the resource parameter values set for this URL.voidsetCacheability(String cacheLevel)Sets the cache level of this resource URL.voidsetResourceID(String resourceID)Allows setting a resource ID that can be retrieved when serving the resource through theResourceRequest.getResourceID()method.-
Methods inherited from interface jakarta.portlet.BaseURL
addProperty, append, append, getParameterMap, setParameter, setParameter, setParameters, setProperty, setSecure, toString, write, write
-
Methods inherited from interface jakarta.portlet.RenderState
getPortletMode, getRenderParameters, getWindowState
-
-
-
-
Field Detail
-
FULL
static final String FULL
The URL of typeFULLdoes not need to contain the current state of the page or the current render parameters, portlet mode, or window state of the portlet. Thus the portlet may not be able to access the portlet mode, window state, or render parameters in theserveResourcecall.Only URLs of the type
FULLare allowed in the response. The same restriction is true for all downstream URLs that result from this response call. Attempts to create URLs that are not of typeFULLwill result in anIllegalStateException.URLs of the type
FULLhave the highest cacheability in the browser as they do not depend on any state of the portlet or page.- See Also:
- Constant Field Values
-
PORTLET
static final String PORTLET
The URL of typePORTLRETdoes not need to contain the current state of the page, but the current render parameters, portlet mode, or window state of the portlet must be accessible to the portlet.Only URLs of the type
PORTLETorFULLare allowed in the response. The same restriction is true for all downstream URLs that result from this response. Attempts to create URLs that are not of typePORTLETorFULLwill result in anIllegalStateException.URLs of the type
PORTLETare cacheable on the portlet level in the browser and can be served from the browser cache for as long as the state of this portlet does not change.- See Also:
- Constant Field Values
-
PAGE
static final String PAGE
The URL of typePAGEmay contain artifacts that require knowledge of the state of the complete page, likePortletURLs.URLs of the type
PAGEare only cacheable on the page level and can only be served from the browser cache as long as no state on the page changes.- See Also:
- Constant Field Values
-
SHARED
static final String SHARED
Property that the portlet can set for resources with caching typeFULLvia thesetPropertymethod on theResourceURL.When set, this property indicates to the portal application that it can share this resource across different portlet applications.
The value of this property should be a QName in the format of
javax.xml.namespace.QName.toString().- See Also:
- Constant Field Values
-
-
Method Detail
-
getResourceParameters
MutableResourceParameters getResourceParameters()
Gets the resource parameter values set for this URL.Resource parameters are additional portlet parameters added to the URL that extend the state information provided by the render parameters.
Initially the returned object is empty.
Modifying the parameter values encapsulated by the returned object directly modifies the resource parameters applied to the URL.
PortletParametersprovides a description of the parameter concept.- Returns:
- a mutable
PortletParametersobject representing the private and public render parameters - Since:
- 3.0
- See Also:
PortletParameters,MutableResourceParameters,ResourceRequest
-
setResourceID
void setResourceID(String resourceID)
Allows setting a resource ID that can be retrieved when serving the resource through theResourceRequest.getResourceID()method.- Parameters:
resourceID- ID for this resource URL
-
getResourceID
String getResourceID()
Returns the resource ID set on the ResourceURL ornullif no resource ID was set on the URL.- Returns:
- the resource ID set on the ResourceURL,or
nullif no resource ID was set on the URL.
-
getCacheability
String getCacheability()
Returns the cache level of this resource URL.Possible return values are:
FULL, PORTLETorPAGE.- Returns:
- the cache level of this resource URL.
-
setCacheability
void setCacheability(String cacheLevel)
Sets the cache level of this resource URL.Possible values are:
FULL, PORTLETorPAGE.Note that if this URL is created inside a
serveResourcecall it must have at minimum the same cacheablity, or a more restrictive one, as the parent resource URL, otherwise an IllegalStateException is thrown.The default cache level of a resource URL is either the cache level of the parent resource URL, or
PAGEif no parent resource URL is available.- Parameters:
cacheLevel- the cache level of this resource URL.- Throws:
IllegalStateException- if this resource URL has a weaker cache level than the parent resource URL.IllegalArgumentException- if the cacheLevel is unknown to the portlet container
-
-