Liferay 6.2-ce-ga5

com.liferay.portal.kernel.portlet
Interface FriendlyURLMapper

All Known Implementing Classes:
AlloyFriendlyURLMapper, BaseFriendlyURLMapper, BaseFriendlyURLMapper, DefaultFriendlyURLMapper, TagsCompilerFriendlyURLMapper, WAIFriendlyURLMapper, WikiFriendlyURLMapper

public interface FriendlyURLMapper

Provides friendly URL mapping for a portlet by converting portlet URL parameters to friendly URL paths and back.

Never implement this interface directly, subclass BaseFriendlyURLMapper to ensure forward compatibility.

See Also:
BaseFriendlyURLMapper, DefaultFriendlyURLMapper, PortletURLImpl

Method Summary
 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.
 

Method Detail

buildPath

String buildPath(LiferayPortletURL liferayPortletURL)
Generates a friendly URL path from the portlet URL object.

Parameters:
liferayPortletURL - the portlet URL object to generate a friendly URL for
Returns:
the generated friendly URL, or null if one cannot be built. Returning null will cause a normal portlet URL to be generated.

getMapping

String getMapping()
Returns the friendly URL mapping for this portlet.

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

Returns:
the friendly URL mapping for this portlet, not including any leading or trailing slashes

getPortletId

String getPortletId()
Returns the ID of this portlet

Returns:
the ID of this portlet, not including the instance ID

getRouter

Router getRouter()
Returns the router for this friendly URL mapper

Returns:
the router, or null if one has not been set

isCheckMappingWithPrefix

boolean isCheckMappingWithPrefix()
Returns 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.

Returns:
true if the "/-/" separator should be included in friendly URLs, or false if only a "/" should be used

isPortletInstanceable

boolean isPortletInstanceable()
Returns 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.

Returns:
true if the portlet is instanceable; false otherwise

populateParams

void populateParams(String friendlyURLPath,
                    Map<String,String[]> parameterMap,
                    Map<String,Object> requestContext)
Populates the parameter map with values parsed from the friendly URL path.

This method is called by PortalImpl when a friendly URL is processed.

Parameters:
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 context
See Also:
BaseFriendlyURLMapper.addParameter(Map, String, String), BaseFriendlyURLMapper.addParameter(String, Map, String, String)

setMapping

void setMapping(String mapping)
Sets the friendly URL mapping for this portlet.

This method is automatically called by PortletBagFactory with the friendly URL mapping defined in liferay-portlet.xml.

Parameters:
mapping - the friendly URL mapping for this portlet

setPortletId

void setPortletId(String portletId)
Sets the ID of this portlet.

This method is automatically called by PortletBagFactory with the portlet ID defined in liferay-portlet.xml.

Parameters:
portletId - the ID of this portlet.

setPortletInstanceable

void setPortletInstanceable(boolean portletInstanceable)
Sets whether this portlet is instanceable.

Parameters:
portletInstanceable - whether this portlet is instanceable

setRouter

void setRouter(Router router)
Sets the router for this friendly URL mapper.

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.

Parameters:
router - the router for this friendly URL mapper

Liferay 6.2-ce-ga5