Class WebResource
- java.lang.Object
-
- lumis.portal.url.WebResource
-
- All Implemented Interfaces:
Cloneable
,ICacheEntry
,ICloneableCacheEntry
- Direct Known Subclasses:
ChannelWebResource
,PageWebResource
@StableMinor(version="14.1", sinceVersion="5.0") public abstract class WebResource extends Object implements Cloneable, ICloneableCacheEntry
Represents a resource that is accessible through a web server.Note: the public methods of this class are considered stable, but it is not considered stable for being used in JPA queries.
- Since:
- 5.0.0
- Version:
- $Revision: 24683 $ $Date: 2021-08-23 18:55:58 -0300 (Mon, 23 Aug 2021) $
-
-
Constructor Summary
Constructors Constructor Description WebResource()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected String
calculatePath()
Returns the path to access this web resource.WebResource
clone()
Date
getCreatedDateTime()
Returns the date-time this web resource was created.String
getDynamicPath()
Returns the dynamic path to access this web resource.String
getFriendlyPath()
Returns the friendly path to access this web resource.String
getFriendlyURLPattern()
Returns the pattern to be used to resolve friendly URL for this web resource.String
getId()
Returns the unique identifier for this web resource.Locale
getLocale()
Returns the locale for this web resource.abstract String
getName()
Returns the name for this web resource.PageCacheConfig
getPageCache()
Returns the cache definition for this web resource.String
getParameter(String parameterName)
Returns the value of a parameter for this web resource.abstract Map<String,String[]>
getParameterMap()
Returns a map containing all parameters for this web resource.String[]
getParameterValues(String parameterName)
Returns the values of a parameter for this web resource.abstract WebResource
getParent()
Returns the web resource of the parent element of this web resource.String
getPath()
Returns the path to access this web resource.abstract IProject
getProject()
Returns the project this web resource belongs to (if any).
It is important to notice that the relation webresource <-> project is not persisted.abstract Map<String,List<String>>
getProperties()
Returns the properties for this web resource.protected String
getRecommendedFileExtension()
Returns the file extension recommended for this web resource, according to its configurations.protected abstract String
getSeoRuleUrlPattern()
Get the Url Path from the SeoRule linked to this WebResource.abstract String
getTitle()
Returns the title for this web resource.abstract String
getUrlTitle()
Returns the title value meant to be used for friendly URL generation of this web resource.IWebsite
getWebsite()
Returns the website this web resource belongs to.protected boolean
hasSSI()
Returns whether this web resource has Server Side Include (requires SSI pos-processing).protected boolean
isAvailableForGetRequest()
Returns whether this web resource is available for a GET request to it.boolean
isCacheEnabled()
Returns if the cache is enabled for this web resource.boolean
isCacheEnabled(boolean considerGuestOnlyCache)
Deprecated.since 10.3.0 replaced byisCacheEnabled()
.protected boolean
isDynamicRequestValid(HttpServletRequest request)
Indicates whether the given request is a valid dynamic request for this web resource.protected boolean
isFriendlyURLEnabled()
Indicates if friendly URL is enabled for this web resource.protected String
localize(String key)
Returns the localized version of the given string.protected boolean
mayBePersisted()
Indicates whether this web resource may be persisted.protected void
setDynamicPath(String dynamicPath)
Sets the dynamic path for this web resource.protected void
setFriendlyPath(String friendlyPath)
Sets the friendly path for this web resource.protected void
setId(String id)
Sets the unique identifier for this web resource.protected void
setLocale(Locale locale)
Sets the locale for this web resource.protected void
setPageCache(PageCacheConfig pageCache)
Sets the cache definition for this web resource.protected void
setWebsite(IWebsite website)
Sets the website this web resource belongs to.String
toString()
Returns a string representation for debug and logging purposes.
-
-
-
Method Detail
-
getId
public String getId()
Returns the unique identifier for this web resource.- Returns:
- the unique identifier for this web resource, or
null
if it is not persisted. - Since:
- 5.0.0
-
setId
protected void setId(String id)
Sets the unique identifier for this web resource.- Parameters:
id
- the value to set.- Since:
- 5.0.0
-
getDynamicPath
public String getDynamicPath()
Returns the dynamic path to access this web resource. The dynamic path, starts with '/' and is relative to the portal web application root.- Returns:
- the dynamic path for this web resource.
- Since:
- 5.0.0
- See Also:
getFriendlyPath()
-
setDynamicPath
protected void setDynamicPath(String dynamicPath)
Sets the dynamic path for this web resource.- Parameters:
dynamicPath
- the dynamic path relative to the portal web application root. It must start with '/'.- Since:
- 5.0.0
-
getFriendlyPath
public String getFriendlyPath()
Returns the friendly path to access this web resource. The friendly path, if set, always starts with '/' and is relative to the portal web application root. One exception to this rule is if the friendly path corresponds to the application root, in this case an empty string is returned.Note that even thought a friendly path is returned, the use of friendly URL may be disabled for this web resource.
- Returns:
- the friendly path or
null
if there is no friendly path set. - Since:
- 5.0.0
- See Also:
getPath()
-
isFriendlyURLEnabled
protected boolean isFriendlyURLEnabled()
Indicates if friendly URL is enabled for this web resource.- Returns:
true
if it is enabled,false
otherwise.- Since:
- 5.0.0
-
setFriendlyPath
protected void setFriendlyPath(String friendlyPath)
Sets the friendly path for this web resource.- Parameters:
friendlyPath
- the friendly path relative to the portal web application root. It must start with '/', or benull
for no friendly path set.- Since:
- 5.0.0
-
getFriendlyURLPattern
public String getFriendlyURLPattern()
Returns the pattern to be used to resolve friendly URL for this web resource.The specific syntax or usage of the pattern is up to the
IURLResolver
configured for this web resource.- Returns:
- the pattern.
- Since:
- 5.0.0
-
getSeoRuleUrlPattern
protected abstract String getSeoRuleUrlPattern() throws PortalException
Get the Url Path from the SeoRule linked to this WebResource.- Returns:
- The url path pattern or
null
if not specified. - Throws:
PortalException
- Since:
- 10.1.0
-
getLocale
public Locale getLocale()
Returns the locale for this web resource.- Returns:
- the locale.
- Since:
- 5.0.0
-
setLocale
protected void setLocale(Locale locale)
Sets the locale for this web resource.This method must be called inside a transactional context, so that
PortalTransactionFactory.getCurrentTransaction()
does not return null.- Parameters:
locale
- the locale to set.- Since:
- 5.0.0
-
getCreatedDateTime
public Date getCreatedDateTime()
Returns the date-time this web resource was created.- Returns:
- the date-time this web resource was created.
- Since:
- 5.0.0
-
getPageCache
public PageCacheConfig getPageCache()
Returns the cache definition for this web resource.- Returns:
- the cache object or
null
if this web resource does not have cache. - Since:
- 5.0.0
-
setPageCache
protected void setPageCache(PageCacheConfig pageCache)
Sets the cache definition for this web resource.- Parameters:
pageCache
- the cache definition.- Since:
- 5.0.0
-
getWebsite
public IWebsite getWebsite()
Returns the website this web resource belongs to.The full URL to access this web resource is composed by a base URL of the web site it belongs, and the path of this web resource.
If this
web resource
is located in an area of portal that do not belong to anywebsite
, this method will returnnull
.- Returns:
- the website this web resource belongs to.
- Since:
- 6.2.0
-
setWebsite
protected void setWebsite(IWebsite website)
Sets the website this web resource belongs to.The website of the web resource must be set during its creation. The website of an existing web resource cannot be changed. It must be deleted and recreated instead.
- Parameters:
website
- the website.- Since:
- 6.2.0
- See Also:
getWebsite()
-
getPath
public final String getPath()
Returns the path to access this web resource. The returned value is taken from cache configuration,getFriendlyPath()
orgetDynamicPath()
.- Returns:
- the path to access this web resource, starting with '/' and relative to the portal web application root.
- Since:
- 5.0.0
-
calculatePath
protected String calculatePath()
Returns the path to access this web resource. The returned value is taken from cache configuration,getFriendlyPath()
orgetDynamicPath()
.- Returns:
- the path to access this web resource, starting with '/' and relative to the portal web application root.
- Since:
- 12.1.0
-
isCacheEnabled
@Deprecated public boolean isCacheEnabled(boolean considerGuestOnlyCache)
Deprecated.since 10.3.0 replaced byisCacheEnabled()
. From version 10.3.0 on, the parameter considerGuestOnlyCache is ignored.Returns if the cache is enabled for this web resource for the current user.- Parameters:
considerGuestOnlyCache
- indicates if the result should betrue
even if the cache is only for guest.- Returns:
true
if the cache is enabled,false
otherwise.- Since:
- 5.0.0
-
isCacheEnabled
public boolean isCacheEnabled()
Returns if the cache is enabled for this web resource.- Returns:
true
if the cache is enabled,false
otherwise.- Since:
- 10.3.0
-
getParent
public abstract WebResource getParent()
Returns the web resource of the parent element of this web resource.- Returns:
- the parent of this web resource, or
null
if it has no parent. - Since:
- 5.0.0
-
getName
public abstract String getName()
Returns the name for this web resource. The name is usually used for management display purposes.- Returns:
- this web resource's name, localized according to its locale.
- Since:
- 5.0.0
- See Also:
getLocale()
-
getTitle
public abstract String getTitle()
Returns the title for this web resource. The title is usually used as an end-user title.- Returns:
- this web resource's title, localized according to its locale.
- Since:
- 5.0.0
- See Also:
getLocale()
-
getUrlTitle
public abstract String getUrlTitle()
Returns the title value meant to be used for friendly URL generation of this web resource.- Returns:
- the title value.
- Since:
- 10.0.0
- See Also:
IURLResolver
-
getParameterMap
public abstract Map<String,String[]> getParameterMap()
Returns a map containing all parameters for this web resource.- Returns:
- an immutable map containing all parameters for this web resource.
- Since:
- 5.0.0
-
getParameter
public String getParameter(String parameterName)
Returns the value of a parameter for this web resource. If the parameter has multiple values, the first is returned.- Parameters:
parameterName
- the parameter name.- Returns:
- the value, or
null
if no parameter with such name exists for this web resource. - Since:
- 5.0.0
-
getParameterValues
public String[] getParameterValues(String parameterName)
Returns the values of a parameter for this web resource.- Parameters:
parameterName
- the parameter name.- Returns:
- the values, or
null
if no parameter with such name exists for this web resource. - Since:
- 5.0.0
-
getProperties
public abstract Map<String,List<String>> getProperties()
Returns the properties for this web resource.- Returns:
- a immutable map where the key is the property name and the value is a list of the property's values.
- Since:
- 5.0.0
-
localize
protected String localize(String key)
Returns the localized version of the given string. The localization is done based on this web resource's locale.- Parameters:
key
- the string.- Returns:
- the localized version.
- Since:
- 5.0.0
- See Also:
getLocale()
-
mayBePersisted
protected boolean mayBePersisted()
Indicates whether this web resource may be persisted.There are other rules relating to web resource persisting. If this method returns
false
, this web resource may never be persisted. If this method returnstrue
, it will depend on the other rules to decide if it will be persisted.This method may be called when the web resource object is not with all its attributes set yet.
- Returns:
- whether this web resource may be persisted.
- Since:
- 6.0.0
-
isAvailableForGetRequest
protected boolean isAvailableForGetRequest()
Returns whether this web resource is available for a GET request to it.Normally non-persisted web resources whose dynamic path differs from the main path indicates that it was not generated
- Returns:
true
if this web resource is available,false
otherwise.- Since:
- 6.0.0
-
isDynamicRequestValid
protected boolean isDynamicRequestValid(HttpServletRequest request)
Indicates whether the given request is a valid dynamic request for this web resource.- Parameters:
request
- the request.- Returns:
true
if valid,false
otherwise.- Since:
- 6.0.0
-
hasSSI
protected boolean hasSSI()
Returns whether this web resource has Server Side Include (requires SSI pos-processing).- Returns:
true
if this web resource has SSI,false
otherwise.- Since:
- 6.0.0
-
getRecommendedFileExtension
protected String getRecommendedFileExtension()
Returns the file extension recommended for this web resource, according to its configurations.- Returns:
- the extension, starting with '.'. Example: ".htm"
- Since:
- 6.0.0
-
toString
public String toString()
Returns a string representation for debug and logging purposes.
-
clone
public WebResource clone() throws CloneNotSupportedException
- Specified by:
clone
in interfaceICloneableCacheEntry
- Overrides:
clone
in classObject
- Throws:
CloneNotSupportedException
-
getProject
public abstract IProject getProject() throws PortalException
Returns the project this web resource belongs to (if any).
It is important to notice that the relation webresource <-> project is not persisted. Instead, it is calculated at runtime.
This method may require a current transaction.- Returns:
- the project this web resource belongs to (if any).
- Throws:
PortalException
- Since:
- 12.4.0
-
-