Class SRSCachingInterceptor
- java.lang.Object
-
- org.apache.tapestry5.internal.services.assets.DelegatingSRS
-
- org.apache.tapestry5.internal.services.assets.SRSCachingInterceptor
-
- All Implemented Interfaces:
StreamableResourceSource
- Direct Known Subclasses:
SRSCompressedCachingInterceptor
public class SRSCachingInterceptor extends DelegatingSRS
An interceptor for theStreamableResourceSourceservice that handles caching of content.
-
-
Field Summary
-
Fields inherited from class org.apache.tapestry5.internal.services.assets.DelegatingSRS
delegate
-
-
Constructor Summary
Constructors Constructor Description SRSCachingInterceptor(StreamableResourceSource delegate, ResourceChangeTracker tracker)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleanenableCache(StreamableResourceProcessing processing)Returns true unless the processing isStreamableResourceProcessing.FOR_AGGREGATION.StreamableResourcegetStreamableResource(Resource baseResource, StreamableResourceProcessing processing, ResourceDependencies dependencies)Converts a Resource (which must be non-null and exist) into a streamable resource, along with some additional optional behaviors.protected booleanisCacheable(StreamableResource resource)Always returns true; a subclass may extend this to only cache the resource in some circumstances.-
Methods inherited from class org.apache.tapestry5.internal.services.assets.DelegatingSRS
fileExtensionsForContentType
-
-
-
-
Constructor Detail
-
SRSCachingInterceptor
public SRSCachingInterceptor(StreamableResourceSource delegate, ResourceChangeTracker tracker)
-
-
Method Detail
-
getStreamableResource
public StreamableResource getStreamableResource(Resource baseResource, StreamableResourceProcessing processing, ResourceDependencies dependencies) throws java.io.IOException
Description copied from interface:StreamableResourceSourceConverts a Resource (which must be non-null and exist) into a streamable resource, along with some additional optional behaviors.- Specified by:
getStreamableResourcein interfaceStreamableResourceSource- Overrides:
getStreamableResourcein classDelegatingSRS- Parameters:
baseResource- the resource to convertprocessing- defines additional processing after the resource has been read and possibly transformeddependencies- Passed to anyResourceTransformerto track additional dependencies of the base resource- Returns:
- the contents of the Resource, possibly transformed, in a streamable format.
- Throws:
java.io.IOException- if the resource does not exist or a URL for the content is not available
-
isCacheable
protected boolean isCacheable(StreamableResource resource)
Always returns true; a subclass may extend this to only cache the resource in some circumstances.- Parameters:
resource-- Returns:
- true to cache the resource
-
enableCache
protected boolean enableCache(StreamableResourceProcessing processing)
Returns true unless the processing isStreamableResourceProcessing.FOR_AGGREGATION. Subclasses may override. When the cache is not enabled, the request is passed on to the interceptor'sDelegatingSRS.delegate, and no attempt is made to read or update this interceptor's cache.- Since:
- 5.3.5
-
-