public class IndirectUrlTemplate extends UrlTemplate
An indirect URL is typically a URL that does not contain any query parameters. It is usually generated for search spider visitors that are more sensitive to URLs that contain query parameters.
The generated URL itself does not correspond to an actual page on a website. It is intended that the SEO jump servlet will convert the indirect URL to a direct URL that does contain query parameters. The servlet will then forward or redirect the visitor to the direct URL
This class contains properties and methods for the following tasks
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
CLASS_VERSION
Class version string
|
protected UrlTemplate |
mForwardUrlTemplate
UrlTemplate to create a direct Url from this indirect Url.
|
java.lang.String |
mForwardUrlTemplateFormat
Property that defines the format of the forward URL
|
protected java.util.regex.Pattern |
mIndirectRegexPattern
Regex pattern that matches the indirect Url
|
protected java.util.Map |
mRegexElementMap
Hashmap of regex elements to use to populate the forward Url template
|
boolean |
mUseUrlRedirect
Property that controls whether the jump servlet should use URL redirect instead of URL forward.
|
mExcludedBrowserTypes, mLogger, mLookups, mMaxUrlLength, mMessageFormatString, mSupportedBrowserTypes, mUrlParameters, mUrlTemplateFormat, mUseDefaultWebApp, mWebApp
SERVICE_INFO_KEY
DEFAULT_LOG_TRACE_STATUS
DEFAULT_LOG_DEBUG_STATUS, DEFAULT_LOG_ERROR_STATUS, DEFAULT_LOG_INFO_STATUS, DEFAULT_LOG_WARNING_STATUS
Constructor and Description |
---|
IndirectUrlTemplate() |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getDefaultUrl() |
java.lang.String |
getForwardUrl(DynamoHttpServletRequest pRequest,
java.lang.String pIndirectUrl,
WebApp pDefaultWebApp,
Repository pDefaultRepository)
Method to convert an indirect 'friendly' Url into a destination Url for forwarding.
|
UrlTemplate |
getForwardUrlTemplate()
Getter method for the forward Url template object.
|
java.lang.String |
getForwardUrlTemplateFormat()
Gets the format of the forward URL, which will have {paramName} placeholders for parameter values to be inserted.
|
java.lang.String |
getIndirectRegex()
Gets the regular expression pattern that is a property of this
IndirectUrlTemplate instance. |
java.util.regex.Pattern |
getIndirectRegexPattern()
Method to get the Pattern object for the indirect regex.
|
java.util.List |
getRegexElementList()
Gets the regex element list that is a property of this
IndirectUrlTemplate instance. |
protected void |
initialize()
This method will perform the following initialisation steps:
Create a
UrlTemplate instance for the URL format used by the droplet
Build the regex pattern
Parse the element type list
Create a UrlTemplate instance for the forward URL format used by the jump servlet
|
boolean |
isUseUrlRedirect()
Indicates whether the jump servlet should use URL redirect instead of URL forward when using this
IndirectUrlTemplate instance. |
java.util.regex.Matcher |
matches(java.lang.String pUrl)
Checks whether the Url matches this template.
|
void |
setDefaultUrl(java.lang.String pDefaultUrl) |
void |
setForwardUrlTemplate(UrlTemplate pForwardUrlTemplate)
Setter method for the forward Url template object.
|
void |
setForwardUrlTemplateFormat(java.lang.String pForwardUrlTemplateFormat)
Sets the format of the forward URL.
|
void |
setIndirectRegex(java.lang.String pIndirectRegex)
Sets the regular expression pattern that is associated with this
IndirectUrlTemplate instance. |
void |
setRegexElementList(java.util.List pRegexElementList)
Sets the regex element list that is associated with this instance.
|
void |
setUseUrlRedirect(boolean pUseUrlRedirect)
Sets the flag which controls whether URL redirect is to be used by the jump servlet.
|
cloneUrlParameters, doStartService, formatUrl, getExcludedBrowserTypes, getMaxUrlLength, getMessageFormat, getSupportedBrowserTypes, getUrlTemplateFormat, getWebApp, getWebAppRegistry, isSupported, parseTemplate, setExcludedBrowserTypes, setLookupMap, setMaxUrlLength, setSupportedBrowserTypes, setUrlTemplateFormat, setUseDefaultWebApp, setWebApp, setWebAppRegistry, toString, useDefaultWebApp
addLogListener, createAdminServlet, doStopService, getAbsoluteName, getAdminServlet, getAdminServletOutputStreamEncoding, getLoggingForVlogging, getLogListenerCount, getLogListeners, getName, getNameContext, getNucleus, getRoot, getServiceConfiguration, getServiceInfo, isAdminServletUseServletOutputStream, isLoggingDebug, isLoggingError, isLoggingInfo, isLoggingTrace, isLoggingWarning, isRunning, logDebug, logDebug, logDebug, logError, logError, logError, logInfo, logInfo, logInfo, logTrace, logTrace, logTrace, logWarning, logWarning, logWarning, nameContextElementBound, nameContextElementUnbound, removeLogListener, reResolveThis, resolveName, resolveName, resolveName, resolveName, sendLogEvent, setAdminServletOutputStreamEncoding, setAdminServletUseServletOutputStream, setLoggingDebug, setLoggingError, setLoggingInfo, setLoggingTrace, setLoggingWarning, setNucleus, setServiceInfo, startService, stopService
vlogDebug, vlogDebug, vlogDebug, vlogDebug, vlogDebugTrace, vlogError, vlogError, vlogError, vlogError, vlogInfo, vlogInfo, vlogInfo, vlogInfo, vlogTrace, vlogTrace, vlogTrace, vlogTrace, vlogWarning, vlogWarning, vlogWarning, vlogWarning
public static java.lang.String CLASS_VERSION
protected UrlTemplate mForwardUrlTemplate
protected java.util.regex.Pattern mIndirectRegexPattern
protected java.util.Map mRegexElementMap
public java.lang.String mForwardUrlTemplateFormat
public boolean mUseUrlRedirect
public java.lang.String getIndirectRegex()
IndirectUrlTemplate
instance.public void setIndirectRegex(java.lang.String pIndirectRegex)
IndirectUrlTemplate
instance.pIndirectRegex
- The regular expression pattern to setpublic java.util.List getRegexElementList()
IndirectUrlTemplate
instance.public void setRegexElementList(java.util.List pRegexElementList)
pregexElementList
- The regular expression list to set.public java.lang.String getForwardUrlTemplateFormat()
public void setForwardUrlTemplateFormat(java.lang.String pForwardUrlTemplateFormat)
pForwardUrlTemplateFormat
- The forward URL format to setpublic java.lang.String getDefaultUrl()
public void setDefaultUrl(java.lang.String pDefaultUrl)
public boolean isUseUrlRedirect()
IndirectUrlTemplate
instance.true
if URL redirect is to be used,
false
if URL forward is to be used.public void setUseUrlRedirect(boolean pUseUrlRedirect)
useRedirect
- The value to set. Should be true
if URL redirect should be used, false
otherwise.protected void initialize() throws atg.repository.seo.ItemLinkException
UrlTemplate
instance for the URL format used by the dropletUrlTemplate
instance for the forward URL format used by the jump servletinitialize
in class UrlTemplate
ItemLinkException
- Indicates failure to initialise this instance.UrlTemplate.initialize()
public java.util.regex.Pattern getIndirectRegexPattern()
public UrlTemplate getForwardUrlTemplate()
public void setForwardUrlTemplate(UrlTemplate pForwardUrlTemplate)
pForwardUrlTemplate
- UrlTemplate objectpublic java.util.regex.Matcher matches(java.lang.String pUrl)
pUrl
- String Url to check against this parser's regexpublic java.lang.String getForwardUrl(DynamoHttpServletRequest pRequest, java.lang.String pIndirectUrl, WebApp pDefaultWebApp, Repository pDefaultRepository) throws atg.repository.seo.ItemLinkException
pRequest
- DynamoHttpServetRequest objectpIndirectUrl
- String Url that matches the indirect url templatepDefaultWebApp
- The default web app, which is used to determine the context pathpDefaultRepository
- The default repository that is used when a parameter element does not have a repository defined.null>
if a match was not made.ItemLinkException
- Indicates failure to determine the forward URL.