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 theStreamableResourceSource
service 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 boolean
enableCache(StreamableResourceProcessing processing)
Returns true unless the processing isStreamableResourceProcessing.FOR_AGGREGATION
.StreamableResource
getStreamableResource(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 boolean
isCacheable(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 IOException
Description copied from interface:StreamableResourceSource
Converts a Resource (which must be non-null and exist) into a streamable resource, along with some additional optional behaviors.- Specified by:
getStreamableResource
in interfaceStreamableResourceSource
- Overrides:
getStreamableResource
in classDelegatingSRS
- Parameters:
baseResource
- the resource to convertprocessing
- defines additional processing after the resource has been read and possibly transformeddependencies
- Passed to anyResourceTransformer
to track additional dependencies of the base resource- Returns:
- the contents of the Resource, possibly transformed, in a streamable format.
- Throws:
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
-
-