- All Known Implementing Classes:
@UsesMappedConfiguration(ResourceTransformer.class) public interface StreamableResourceSourceConverts
StreamableResources, and may be responsible for transforming resources based on file extension. Contributions map a file extension (such as "coffee") to a transformer for that file extension. Service decorators added to this service may provide additional processing (compression, minimization, and caching).
All Methods Instance Methods Abstract Methods Modifier and Type Method Description
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.
Set<String> fileExtensionsForContentType(ContentType contentType)Given a desired content type, identify which file extensions can be mapped to that extension based on contributed
ResourceTransformers that can produce the content type based for a file with that extension.
- set of file extension, possibly empty, in no particular order. These are the bare extensions, e.g., "js", "coffee".
StreamableResource getStreamableResource(Resource baseResource, StreamableResourceProcessing processing, ResourceDependencies dependencies) throws IOException
baseResource- the resource to convert
processing- defines additional processing after the resource has been read and possibly transformed
dependencies- Passed to any
ResourceTransformerto track additional dependencies of the base resource
- the contents of the Resource, possibly transformed, in a streamable format.
IOException- if the resource does not exist or a URL for the content is not available