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 Details

    • 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 URL
      forceCurrentTargetId - 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 prefix
      targetId - the target ID
      suffix - the URL suffix
      Returns:
      the built targeted URL