Interface StreamableResource
-
- All Known Implementing Classes:
CompressedStreamableResource,StreamableResourceImpl
public interface StreamableResource
An object, derived from aResource, that can be streamed (ultimately, to a client web browser). In addition, a StreamableResource may be transformed (by the stack of interceptors aroundStreamableResourceSource: this includes transforming a Resource (example: CoffeeScript to JavaScript compilation), as well as aggregation and compression.- Since:
- 5.3
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description StreamableResourceaddResponseCustomizer(ResponseCustomizer customizer)Returns a new StreamableResource that includes the provided customizer.java.lang.StringgetChecksum()Compute and return the checksum of the content for this asset; the checksum should be computed based on the uncompressed content.CompressionStatusgetCompression()Indicates if the content is compressed, or compressable.ContentTypegetContentType()Returns the resource's content type.java.lang.StringgetDescription()Describes the underlyingResource(or resources} for this streamable resource; expressly used as part of the object'stoString().longgetLastModified()Returns the time the resource was last modified, with accuracy to one second (so as to match the HTTP request/response date headers).ResponseCustomizergetResponseCustomizer()Returns the customizer, if any, for this resource.intgetSize()The size, in bytes, of the underlying bytestream.java.io.InputStreamopenStream()Opens the content of the resource as an input stream; the caller is responsible for closing the stream after reading it.voidstreamTo(java.io.OutputStream os)Streams the resource's content to the provided stream.StreamableResourcewithContentType(ContentType newContentType)Returns a new StreamableResource instance with the new content type.
-
-
-
Method Detail
-
getDescription
java.lang.String getDescription()
Describes the underlyingResource(or resources} for this streamable resource; expressly used as part of the object'stoString().
-
getCompression
CompressionStatus 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
void streamTo(java.io.OutputStream os) throws java.io.IOException
Streams the resource's content to the provided stream. The caller is responsible for flushing or closing the output stream.- Throws:
java.io.IOException
-
openStream
java.io.InputStream openStream() throws java.io.IOException
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:
java.io.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
java.lang.String getChecksum() throws java.io.IOException
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:
java.io.IOException- Since:
- 5.4
- See Also:
AssetChecksumGenerator.generateChecksum(StreamableResource)
-
addResponseCustomizer
StreamableResource addResponseCustomizer(ResponseCustomizer customizer)
Returns a new StreamableResource that includes the provided customizer. Customizers are invoked in the order they are added.- Since:
- 5.4
-
getResponseCustomizer
ResponseCustomizer getResponseCustomizer()
Returns the customizer, if any, for this resource. This may represent an aggregate customizer.- Since:
- 5.4
-
withContentType
StreamableResource withContentType(ContentType newContentType)
Returns a new StreamableResource instance with the new content type.- Parameters:
newContentType-- Since:
- 5.4
-
-