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 and Description
    --- | ---
    `String` | `convertAssetPath(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

          String convertAssetPath(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

5.6.4 - Copyright © 2003-2021 The Apache Software Foundation.