public abstract class BaseFriendlyURLMapper extends Object implements FriendlyURLMapper
FriendlyURLMapper
.
Typically not subclassed directly. DefaultFriendlyURLMapper
and a
friendly-url-routes.xml
file will handle the needs of most
portlets.
DefaultFriendlyURLMapper
Constructor and Description |
---|
BaseFriendlyURLMapper() |
Modifier and Type | Method and Description |
---|---|
protected void |
addParameter(Map<String,String[]> parameterMap,
String name,
Object value)
Adds a default namespaced parameter of any type to the parameter map.
|
protected void |
addParameter(Map<String,String[]> parameterMap,
String name,
String value)
Adds a default namespaced string parameter to the parameter map.
|
protected void |
addParameter(Map<String,String[]> parameterMap,
String name,
String[] values)
Adds a default namespaced string parameter to the parameter map.
|
protected void |
addParameter(String namespace,
Map<String,String[]> parameterMap,
String name,
Object value)
Adds a namespaced parameter of any type to the parameter map.
|
protected void |
addParameter(String namespace,
Map<String,String[]> parameterMap,
String name,
String value)
Adds a namespaced string parameter to the parameter map.
|
protected void |
addParameter(String namespace,
Map<String,String[]> parameterMap,
String name,
String[] values)
Adds a namespaced string parameter to the parameter map.
|
String |
getMapping()
Returns the friendly URL mapping for this portlet.
|
protected String |
getNamespace()
Returns the default namespace.
|
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 |
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.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
buildPath, populateParams
protected Router router
public String getMapping()
FriendlyURLMapper
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
getMapping
in interface FriendlyURLMapper
public String getPortletId()
FriendlyURLMapper
getPortletId
in interface FriendlyURLMapper
public Router getRouter()
FriendlyURLMapper
getRouter
in interface FriendlyURLMapper
null
if one has not been setpublic boolean isCheckMappingWithPrefix()
FriendlyURLMapper
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
.
isCheckMappingWithPrefix
in interface FriendlyURLMapper
true
if the "/-/" separator should be
included in friendly URLs, or false
if only a
"/" should be usedpublic boolean isPortletInstanceable()
FriendlyURLMapper
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.
isPortletInstanceable
in interface FriendlyURLMapper
true
if the portlet is instanceable;
false
otherwisepublic void setMapping(String mapping)
FriendlyURLMapper
This method is automatically called by PortletBagFactory
with the friendly URL mapping
defined in liferay-portlet.xml
.
setMapping
in interface FriendlyURLMapper
mapping
- the friendly URL mapping for this portletpublic void setPortletId(String portletId)
FriendlyURLMapper
This method is automatically called by PortletBagFactory
with the portlet ID defined in
liferay-portlet.xml
.
setPortletId
in interface FriendlyURLMapper
portletId
- the ID of this portlet.public void setPortletInstanceable(boolean portletInstanceable)
FriendlyURLMapper
setPortletInstanceable
in interface FriendlyURLMapper
portletInstanceable
- whether this portlet is instanceablepublic void setRouter(Router router)
FriendlyURLMapper
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.
setRouter
in interface FriendlyURLMapper
router
- the router for this friendly URL mapperprotected void addParameter(Map<String,String[]> parameterMap, String name, Object value)
Do not use this method with an instanceable portlet, it will not properly namespace parameter names.
parameterMap
- the parameter mapname
- the name of the parametervalue
- the value of the parameteraddParameter(Map, String, String)
protected void addParameter(Map<String,String[]> parameterMap, String name, String value)
Do not use this method with an instanceable portlet, it will not properly namespace parameter names.
parameterMap
- the parameter mapname
- the name of the parametervalue
- the value of the parametergetNamespace()
protected void addParameter(Map<String,String[]> parameterMap, String name, String[] values)
Do not use this method with an instanceable portlet, it will not properly namespace parameter names.
parameterMap
- the parameter mapname
- the name of the parametervalues
- the values of the parametergetNamespace()
protected void addParameter(String namespace, Map<String,String[]> parameterMap, String name, Object value)
namespace
- the namespace for portlet parameters. For instanceable
portlets this must include the instance ID.parameterMap
- the parameter mapname
- space the namespace for portlet parameters. For instanceable
portlets this must include the instance ID.value
- the value of the parameteraddParameter(String, Map, String, String)
protected void addParameter(String namespace, Map<String,String[]> parameterMap, String name, String value)
namespace
- the namespace for portlet parameters. For instanceable
portlets this must include the instance ID.parameterMap
- the parameter mapname
- space the namespace for portlet parameters. For instanceable
portlets this must include the instance ID.value
- the value of the parameterPortalUtil.getPortletNamespace(String)
,
DefaultFriendlyURLMapper.getPortletId(Map)
protected void addParameter(String namespace, Map<String,String[]> parameterMap, String name, String[] values)
namespace
- the namespace for portlet parameters. For instanceable
portlets this must include the instance ID.parameterMap
- the parameter mapname
- space the namespace for portlet parameters. For instanceable
portlets this must include the instance ID.values
- the values of the parameterPortalUtil.getPortletNamespace(String)
,
DefaultFriendlyURLMapper.getPortletId(Map)
protected String getNamespace()
Do not use this method with an instanceable portlet, it will not include the instance ID.
PortalUtil.getPortletNamespace(String)