Liferay 6.0.5

com.liferay.util.bridges.wai
Class WAIFriendlyURLMapper

java.lang.Object
  extended by com.liferay.util.bridges.wai.WAIFriendlyURLMapper
All Implemented Interfaces:
FriendlyURLMapper

public class WAIFriendlyURLMapper
extends Object
implements FriendlyURLMapper


Field Summary
protected  Router router
           
 
Constructor Summary
WAIFriendlyURLMapper()
           
 
Method Summary
 String buildPath(LiferayPortletURL liferayPortletURL)
          Generates a friendly URL path from the portlet URL object.
 String getMapping()
          Gets the friendly URL mapping for this portlet.
 String getPortletId()
          Gets the id of this portlet
 Router getRouter()
          Gets the router for this friendly URL mapper
protected  boolean hasBinaryExtension(String friendlyURLPath)
           
 boolean isCheckMappingWithPrefix()
          Determines if the friendly URLs for this mapper should include the friendly URL separator.
 boolean isPortletInstanceable()
          Determines 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

router

protected Router router
Constructor Detail

WAIFriendlyURLMapper

public WAIFriendlyURLMapper()
Method Detail

buildPath

public String buildPath(LiferayPortletURL liferayPortletURL)
Description copied from interface: FriendlyURLMapper
Generates a friendly URL path from the portlet URL object.

Specified by:
buildPath in interface FriendlyURLMapper
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

public String getMapping()
Description copied from interface: FriendlyURLMapper
Gets 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

Specified by:
getMapping in interface FriendlyURLMapper
Returns:
the friendly URL mapping for this portlet, not including any leading or trailing slashes

getPortletId

public String getPortletId()
Description copied from interface: FriendlyURLMapper
Gets the id of this portlet

Specified by:
getPortletId in interface FriendlyURLMapper
Returns:
the id of this portlet, not including the instance id

getRouter

public Router getRouter()
Description copied from interface: FriendlyURLMapper
Gets the router for this friendly URL mapper

Specified by:
getRouter in interface FriendlyURLMapper
Returns:
the router, or null if one has not been set

isCheckMappingWithPrefix

public boolean isCheckMappingWithPrefix()
Description copied from interface: FriendlyURLMapper
Determines 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.

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

isPortletInstanceable

public boolean isPortletInstanceable()
Description copied from interface: FriendlyURLMapper
Determines 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.

Specified by:
isPortletInstanceable in interface FriendlyURLMapper
Returns:
true if the portlet is instanceable; false otherwise

populateParams

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

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

Specified by:
populateParams in interface FriendlyURLMapper
Parameters:
friendlyURLPath - the friendly URL path to parse, including a leading slash and the friendly URL mapping. For example: /blogs/example-post
parameterMap - the parameter map to populate. 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

public void setMapping(String mapping)
Description copied from interface: FriendlyURLMapper
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.

Specified by:
setMapping in interface FriendlyURLMapper
Parameters:
mapping - the friendly URL mapping for this portlet

setPortletId

public void setPortletId(String portletId)
Description copied from interface: FriendlyURLMapper
Sets the id of this portlet.

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

Specified by:
setPortletId in interface FriendlyURLMapper
Parameters:
portletId - the id of this portlet.

setPortletInstanceable

public void setPortletInstanceable(boolean portletInstanceable)
Description copied from interface: FriendlyURLMapper
Sets whether this portlet is instanceable.

Specified by:
setPortletInstanceable in interface FriendlyURLMapper
Parameters:
portletInstanceable - whether this portlet is instanceable

setRouter

public void setRouter(Router router)
Description copied from interface: FriendlyURLMapper
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.

Specified by:
setRouter in interface FriendlyURLMapper
Parameters:
router - the router for this friendly URL mapper

hasBinaryExtension

protected boolean hasBinaryExtension(String friendlyURLPath)

Liferay 6.0.5