Class FilenameWithVersionResourceCachingStrategy
- java.lang.Object
-
- org.apache.wicket.request.resource.caching.FilenameWithVersionResourceCachingStrategy
-
- All Implemented Interfaces:
IResourceCachingStrategy
public class FilenameWithVersionResourceCachingStrategy extends java.lang.Object implements IResourceCachingStrategy
resource caching strategy that adds a version for the requested resource to the filename. versioned_filename := [basename][version-prefix][version](.extension) theversionmust not contain theversion-prefixso please use an unambiguous value for theversion-prefix. The defaultversion-prefixis"-ver-". Since browsers and proxies use the versioned filename of the resource as a cache key a change to the version will also change the filename and cause a reliable cache miss. This enables us to set the caching duration of the resource to a maximum and get best network performance.- Since:
- 1.5
- Author:
- Peter Ertl
-
-
Field Summary
-
Fields inherited from interface org.apache.wicket.request.resource.caching.IResourceCachingStrategy
URL_VERSION
-
-
Constructor Summary
Constructors Constructor Description FilenameWithVersionResourceCachingStrategy(java.lang.String versionPrefix, IResourceVersion resourceVersion)ConstructorFilenameWithVersionResourceCachingStrategy(IResourceVersion resourceVersion)create filename caching strategy with given version provider andversion-prefix = '"-ver-"'
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclearCache()Clears any stateful informationvoiddecorateResponse(AbstractResource.ResourceResponse response, IStaticCacheableResource resource)set resource caching to maximum and set cache-visibility to 'public'voiddecorateUrl(ResourceUrl url, IStaticCacheableResource resource)add caching related information to filename + parametersjava.lang.StringgetVersionPrefix()voidundecorateUrl(ResourceUrl url)Removes caching related information from filename + parameters.
-
-
-
Constructor Detail
-
FilenameWithVersionResourceCachingStrategy
public FilenameWithVersionResourceCachingStrategy(IResourceVersion resourceVersion)
create filename caching strategy with given version provider andversion-prefix = '"-ver-"'- Parameters:
resourceVersion- version provider- See Also:
FilenameWithVersionResourceCachingStrategy(String, org.apache.wicket.request.resource.caching.version.IResourceVersion)
-
FilenameWithVersionResourceCachingStrategy
public FilenameWithVersionResourceCachingStrategy(java.lang.String versionPrefix, IResourceVersion resourceVersion)Constructor- Parameters:
versionPrefix- string that marks the beginning the of the version in the decorated filenameresourceVersion- resource version object- See Also:
FilenameWithVersionResourceCachingStrategy(org.apache.wicket.request.resource.caching.version.IResourceVersion)
-
-
Method Detail
-
getVersionPrefix
public final java.lang.String getVersionPrefix()
- Returns:
- string appended to the filename before the version string
-
decorateUrl
public void decorateUrl(ResourceUrl url, IStaticCacheableResource resource)
Description copied from interface:IResourceCachingStrategyadd caching related information to filename + parameters- Specified by:
decorateUrlin interfaceIResourceCachingStrategy- Parameters:
url- parameters to which caching information should be added and which will be used to construct the url to the resourceresource- cacheable resource
-
undecorateUrl
public void undecorateUrl(ResourceUrl url)
Description copied from interface:IResourceCachingStrategyRemoves caching related information from filename + parameters. In essenese this method undoes whatIResourceCachingStrategy.decorateUrl(ResourceUrl, IStaticCacheableResource)did.- Specified by:
undecorateUrlin interfaceIResourceCachingStrategy- Parameters:
url- parameters that were used to construct the url to the resource and from which previously added caching information should be stripped
-
decorateResponse
public void decorateResponse(AbstractResource.ResourceResponse response, IStaticCacheableResource resource)
set resource caching to maximum and set cache-visibility to 'public'- Specified by:
decorateResponsein interfaceIResourceCachingStrategy- Parameters:
response-
-
clearCache
public void clearCache()
Description copied from interface:IResourceCachingStrategyClears any stateful information- Specified by:
clearCachein interfaceIResourceCachingStrategy
-
-