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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description String
buildTargetedUrl(String prefix, String targetId, String suffix)
Builds the targeted URL with the specified prefix, target ID and suffix.boolean
isFileNameBasedStrategy()
Returns true if the strategy is based on the name of the file.TargetedUrlComponents
parseTargetedUrl(String targetedUrl)
Parses the specified targeted URL, extracting it's components.String
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 Detail
-
isFileNameBasedStrategy
boolean isFileNameBasedStrategy()
Returns true if the strategy is based on the name of the file.
-
toTargetedUrl
String 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. 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
TargetedUrlComponents parseTargetedUrl(String targetedUrl)
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
String buildTargetedUrl(String prefix, String targetId, String suffix)
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
-
-