Package org.apache.tapestry5.services

## Interface AssetPathConverter

- All Known Implementing Classes:
    `IdentityAssetPathConverter`

      public interface AssetPathConverter

  Converts the path (or URI) of an asset into a new format. This is the hook needed to make use of a Content Delivery Network. The default implementation of this is identity, the URI is passed through unchanged. Using a contribution to the `ServiceOverride` service, you may override the default implementation.
  Since:
    5.1.0.0

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.String` | `convertAssetPath​(java.lang.String assetPath)` | Converts the default asset client URI to its final form, ready to be sent to the client.
    `boolean` | `isInvariant()` | Returns true if the converter returns the exact same converted path for any specific asset path (in which case, the converted asset path may be cached in component instance variables more aggressively).

- - ### Method Detail

    - #### isInvariant

          boolean isInvariant()

      Returns true if the converter returns the exact same converted path for any specific asset path (in which case, the converted asset path may be cached in component instance variables more aggressively). This value should be false if the converted path can vary for the same input path ... that is, if external factors (such as the identity of the user, or information obtained from the request) is involved in generating the final client URI. With a CDN this can sometimes be the case, where the user's identity may indicate which CDN server to vend the asset from.
      Returns:
        true if invariant (and therefore cacheable)

    - #### convertAssetPath

          java.lang.String convertAssetPath​(java.lang.String assetPath)

      Converts the default asset client URI to its final form, ready to be sent to the client. The default asset path is an absolute path (it starts with a leading slash) and incorporates the context path if any.
      Parameters:
        `assetPath` - default asset path
      Returns:
        a URI that can be sent to the client