Interface TargetedUrlStrategy

    • 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 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