Interface StreamableResource
- All Known Implementing Classes:
CompressedStreamableResource
,StreamableResourceImpl
public interface StreamableResource
An object, derived from a
Resource
, that can be streamed (ultimately, to a client web browser). In addition,
a StreamableResource may be transformed (by the stack of interceptors around StreamableResourceSource
: this
includes transforming a Resource (example: CoffeeScript to JavaScript compilation), as well as aggregation
and compression.- Since:
- 5.3
-
Method Summary
Modifier and TypeMethodDescriptionaddResponseCustomizer
(ResponseCustomizer customizer) Returns a new StreamableResource that includes the provided customizer.Compute and return the checksum of the content for this asset; the checksum should be computed based on the uncompressed content.Indicates if the content is compressed, or compressable.Returns the resource's content type.Describes the underlyingResource
(or resources} for this streamable resource; expressly used as part of the object'stoString()
.long
Returns the time the resource was last modified, with accuracy to one second (so as to match the HTTP request/response date headers).Returns the customizer, if any, for this resource.int
getSize()
The size, in bytes, of the underlying bytestream.Opens the content of the resource as an input stream; the caller is responsible for closing the stream after reading it.void
streamTo
(OutputStream os) Streams the resource's content to the provided stream.withContentType
(ContentType newContentType) Returns a new StreamableResource instance with the new content type.
-
Method Details
-
getDescription
Describes the underlyingResource
(or resources} for this streamable resource; expressly used as part of the object'stoString()
. -
getCompression
Indicates if the content is compressed, or compressable. -
getContentType
@IncompatibleChange(release="5.4", details="Changed from type String to ContentType") ContentType getContentType()Returns the resource's content type. -
getSize
int getSize()The size, in bytes, of the underlying bytestream. -
streamTo
Streams the resource's content to the provided stream. The caller is responsible for flushing or closing the output stream.- Throws:
IOException
-
openStream
Opens the content of the resource as an input stream; the caller is responsible for closing the stream after reading it.- Returns:
- stream of the contents of the resource
- Throws:
IOException
-
getLastModified
long getLastModified()Returns the time the resource was last modified, with accuracy to one second (so as to match the HTTP request/response date headers). -
getChecksum
Compute and return the checksum of the content for this asset; the checksum should be computed based on the uncompressed content.- Returns:
- checksum for uncompressed content
- Throws:
IOException
- Since:
- 5.4
- See Also:
-
addResponseCustomizer
Returns a new StreamableResource that includes the provided customizer. Customizers are invoked in the order they are added.- Since:
- 5.4
-
getResponseCustomizer
Returns the customizer, if any, for this resource. This may represent an aggregate customizer.- Since:
- 5.4
-
withContentType
Returns a new StreamableResource instance with the new content type.- Parameters:
newContentType
-- Since:
- 5.4
-