Package org.craftercms.engine.targeting
Interface TargetedUrlStrategy
- All Known Implementing Classes:
AbstractTargetedUrlStrategy
,ProxyTargetedUrlStrategy
,TargetedUrlByFileStrategy
,TargetedUrlByFolderStrategy
public interface TargetedUrlStrategy
The strategy to handle the targeted URLs for the site.
- Author:
- avasquez
-
Method Summary
Modifier and TypeMethodDescriptionbuildTargetedUrl
(String prefix, String targetId, String suffix) Builds the targeted URL with the specified prefix, target ID and suffix.boolean
Returns true if the strategy is based on the name of the file.parseTargetedUrl
(String targetedUrl) Parses the specified targeted URL, extracting it's components.toTargetedUrl
(String url, boolean forceCurrentTargetId) Returns the specified URL as a targeted URL (if it's not already a targeted URL) using the current target ID.
-
Method Details
-
isFileNameBasedStrategy
boolean isFileNameBasedStrategy()Returns true if the strategy is based on the name of the file. -
toTargetedUrl
Returns the specified URL as a targeted URL (if it's not already a targeted URL) using the current target ID. For example, if the specified URL is /products/index.xml, the current target ID is "en_US", and the strategy handles targeted URLs by file name, then the resulting targeted URL is /products/index_en_US.xml.WARNING: The URLs strategies should receive should be relative, without the root folder, since most targeted URLs are handled using a regex.
- Parameters:
url
- the URL to transform to a targeted URLforceCurrentTargetId
- true if the URL should be forced to contain the current target ID (e.g the URL is /products/index_fr.xml but the current target ID is en, then the URL will be transformed to /products/index_en.xml)- Returns:
- the targeted URL version of the URL.
-
parseTargetedUrl
Parses the specified targeted URL, extracting it's components. For example, if the specified URL is /products/index_en_US.xml, and the strategy handles targeted URLs by file name, then the URL will be split into the following:- Prefix: /products/index
- Target ID: en_US
- Suffix: .xml
- Parameters:
targetedUrl
- the targeted URL to parse- Returns:
- the URL components
-
buildTargetedUrl
Builds the targeted URL with the specified prefix, target ID and suffix. For example, if the prefix is /products/index, the target ID en_US, the suffix .xml, and the strategy handles targeted URLs by file name, then the resulting URL will be /products/index_en_US.xml.- Parameters:
prefix
- the URL prefixtargetId
- the target IDsuffix
- the URL suffix- Returns:
- the built targeted URL
-