public interface FriendlyURLMapper
Never implement this interface directly, subclass BaseFriendlyURLMapper
to ensure forward compatibility.
BaseFriendlyURLMapper
,
DefaultFriendlyURLMapper
,
PortletURLImpl
Modifier and Type | Method and Description |
---|---|
String |
buildPath(LiferayPortletURL liferayPortletURL)
Generates a friendly URL path from the portlet URL object.
|
String |
getMapping()
Returns the friendly URL mapping for this portlet.
|
String |
getPortletId()
Returns the ID of this portlet
|
Router |
getRouter()
Returns the router for this friendly URL mapper
|
boolean |
isCheckMappingWithPrefix()
Returns
true if the friendly URLs for this mapper should
include the friendly URL separator. |
boolean |
isPortletInstanceable()
Returns
true if this portlet is instanceable. |
void |
populateParams(String friendlyURLPath,
Map<String,String[]> parameterMap,
Map<String,Object> requestContext)
Populates the parameter map with values parsed from the friendly URL
path.
|
void |
setMapping(String mapping)
Sets the friendly URL mapping for this portlet.
|
void |
setPortletId(String portletId)
Sets the ID of this portlet.
|
void |
setPortletInstanceable(boolean portletInstanceable)
Sets whether this portlet is instanceable.
|
void |
setRouter(Router router)
Sets the router for this friendly URL mapper.
|
String buildPath(LiferayPortletURL liferayPortletURL)
liferayPortletURL
- the portlet URL object to generate a friendly
URL fornull
if one cannot be
built. Returning null
will cause a normal portlet
URL to be generated.String getMapping()
The friendly URL mapping is used by Liferay to identify the portlet a
friendly URL refers to. It generally appears directly after the
/-/
in the URL.
For instance, the blogs portlet mapping is "blogs". This
produces friendly URLs similar to
http://www.liferay.com/web/guest/blog/-/blogs/example-post
String getPortletId()
Router getRouter()
null
if one has not been setboolean isCheckMappingWithPrefix()
true
if the friendly URLs for this mapper should
include the friendly URL separator.
Typically, friendly URLs will include the separator "/-/"
before the friendly URL mapping. If this method returns
false
, a single slash will be used instead.
This method is called by PortalImpl
when
a friendly URL is processed.
It is strongly recommended that this method always return
true
.
true
if the "/-/" separator should be
included in friendly URLs, or false
if only a
"/" should be usedboolean isPortletInstanceable()
true
if this portlet is instanceable.
The value returned from this method has no effect on whether a portlet is instanceable, it is a helper method used to determine if the instance ID should be included in the URL.
true
if the portlet is instanceable;
false
otherwisevoid populateParams(String friendlyURLPath, Map<String,String[]> parameterMap, Map<String,Object> requestContext)
This method is called by PortalImpl
when
a friendly URL is processed.
friendlyURLPath
- the friendly URL path, including a leading slash
and the friendly URL mapping. For example:
/blogs/example-post
parameterMap
- the parameter map. Entries added to this map must be
namespaced.requestContext
- the request contextBaseFriendlyURLMapper.addParameter(Map, String, String)
,
BaseFriendlyURLMapper.addParameter(String, Map, String, String)
void setMapping(String mapping)
This method is automatically called by PortletBagFactory
with the friendly URL mapping
defined in liferay-portlet.xml
.
mapping
- the friendly URL mapping for this portletvoid setPortletId(String portletId)
This method is automatically called by PortletBagFactory
with the portlet ID defined in
liferay-portlet.xml
.
portletId
- the ID of this portlet.void setPortletInstanceable(boolean portletInstanceable)
portletInstanceable
- whether this portlet is instanceablevoid setRouter(Router router)
This method is automatically called by PortletBagFactory
with a router populated with the
routes defined in this portlet's friendly-url-routes.xml file. The location of this file is defined
in this portlet's liferay-portlet.xml file.
router
- the router for this friendly URL mapper