Class CSSURLRewriter
java.lang.Object
org.apache.tapestry5.internal.services.assets.DelegatingSRS
org.apache.tapestry5.internal.services.assets.CSSURLRewriter
- All Implemented Interfaces:
StreamableResourceSource
Rewrites the
url()
attributes inside a CSS (MIME type "text/css")) resource.
Each url
is expanded to a complete path; this allows for CSS aggregation, where the location of the
CSS file will change (which would ordinarily break relative URLs), and for changing the relative directories of
the CSS file and the image assets it may refer to (useful for incorporating a hash of the resource's content into
the exposed URL).
One potential problem with URL rewriting is the way that URLs for referenced resources are generated; we are
somewhat banking on the fact that referenced resources are non-compressable images.- Since:
- 5.4
- See Also:
-
Field Summary
Fields inherited from class org.apache.tapestry5.internal.services.assets.DelegatingSRS
delegate
-
Constructor Summary
ConstructorsConstructorDescriptionCSSURLRewriter
(StreamableResourceSource delegate, OperationTracker tracker, AssetSource assetSource, AssetChecksumGenerator checksumGenerator, boolean strictCssUrlRewriting) -
Method Summary
Modifier and TypeMethodDescriptiongetStreamableResource
(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.Methods inherited from class org.apache.tapestry5.internal.services.assets.DelegatingSRS
fileExtensionsForContentType
-
Constructor Details
-
CSSURLRewriter
public CSSURLRewriter(StreamableResourceSource delegate, OperationTracker tracker, AssetSource assetSource, AssetChecksumGenerator checksumGenerator, boolean strictCssUrlRewriting)
-
-
Method Details
-
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
-