org.apache.tapestry5.internal.services.assets

## Class StreamableResourceSourceImpl

- java.lang.Object
- - org.apache.tapestry5.internal.services.assets.StreamableResourceSourceImpl

- All Implemented Interfaces:
    StreamableResourceSource

      public class StreamableResourceSourceImpl
      extends Object
      implements StreamableResourceSource

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `StreamableResourceSourceImpl(Map<String,ResourceTransformer> configuration, ContentTypeAnalyzer contentTypeAnalyzer, CompressionAnalyzer compressionAnalyzer, ResourceChangeTracker resourceChangeTracker, AssetChecksumGenerator checksumGenerator)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Set<String>` | `fileExtensionsForContentType(ContentType contentType)` Given a desired content type, identify which file extensions can be mapped to that extension based on contributed `ResourceTransformer`s that can produce the content type based for a file with that extension.
    `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.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### StreamableResourceSourceImpl

          public StreamableResourceSourceImpl(Map<String,ResourceTransformer> configuration,
                                              ContentTypeAnalyzer contentTypeAnalyzer,
                                              CompressionAnalyzer compressionAnalyzer,
                                              ResourceChangeTracker resourceChangeTracker,
                                              AssetChecksumGenerator checksumGenerator)

  - ### Method Detail

    - #### fileExtensionsForContentType

          public Set<String> fileExtensionsForContentType(ContentType contentType)

      Description copied from interface: `StreamableResourceSource`
      Given a desired content type, identify which file extensions can be mapped to that extension based on contributed `ResourceTransformer`s that can produce the content type based for a file with that extension.
      Specified by:
        `fileExtensionsForContentType` in interface `StreamableResourceSource`
      Parameters:
        `contentType` - to search for (just a MIME type, such as "text/javascript")
      Returns:
        set of file extension, possibly empty, in no particular order. These are the bare extensions, e.g., "js", "coffee".

    - #### 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 interface `StreamableResourceSource`
      Parameters:
        `baseResource` - the resource to convert
        `processing` - defines additional processing after the resource has been read and possibly transformed
        `dependencies` - Passed to any `ResourceTransformer` 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

5.6.1 - Copyright © 2003-2020 The Apache Software Foundation.