public interface Resource extends InputStreamSource
An InputStream can be opened for every resource if it exists in physical form, but a URL or File handle can just be returned for certain resources. The actual behavior is implementation-specific.
InputStreamSource.getInputStream(),
getURL(),
getURI(),
getFile(),
WritableResource,
ContextResource,
UrlResource,
ClassPathResource,
FileSystemResource,
PathResource,
ByteArrayResource,
InputStreamResource| Modifier and Type | Method and Description |
|---|---|
long |
contentLength()
Determine the content length for this resource.
|
Resource |
createRelative(java.lang.String relativePath)
Create a resource relative to this resource.
|
boolean |
exists()
Determine whether this resource actually exists in physical form.
|
java.lang.String |
getDescription()
Return a description for this resource,
to be used for error output when working with the resource.
|
java.io.File |
getFile()
Return a File handle for this resource.
|
java.lang.String |
getFilename()
Determine a filename for this resource, i.e.
|
java.net.URI |
getURI()
Return a URI handle for this resource.
|
java.net.URL |
getURL()
Return a URL handle for this resource.
|
boolean |
isOpen()
Indicate whether this resource represents a handle with an open stream.
|
boolean |
isReadable()
Indicate whether the contents of this resource can be read via
InputStreamSource.getInputStream(). |
long |
lastModified()
Determine the last-modified timestamp for this resource.
|
getInputStreamboolean exists()
This method performs a definitive existence check, whereas the
existence of a Resource handle only guarantees a valid
descriptor handle.
boolean isReadable()
InputStreamSource.getInputStream().
Will be true for typical resource descriptors;
note that actual content reading may still fail when attempted.
However, a value of false is a definitive indication
that the resource content cannot be read.
InputStreamSource.getInputStream()boolean isOpen()
true, the InputStream cannot be read multiple times,
and must be read and closed to avoid resource leaks.
Will be false for typical resource descriptors.
java.net.URL getURL()
throws java.io.IOException
java.io.IOException - if the resource cannot be resolved as URL,
i.e. if the resource is not available as descriptorjava.net.URI getURI()
throws java.io.IOException
java.io.IOException - if the resource cannot be resolved as URI,
i.e. if the resource is not available as descriptorjava.io.File getFile()
throws java.io.IOException
java.io.FileNotFoundException - if the resource cannot be resolved as
absolute file path, i.e. if the resource is not available in a file systemjava.io.IOException - in case of general resolution/reading failuresInputStreamSource.getInputStream()long contentLength()
throws java.io.IOException
java.io.IOException - if the resource cannot be resolved
(in the file system or as some other known physical resource type)long lastModified()
throws java.io.IOException
java.io.IOException - if the resource cannot be resolved
(in the file system or as some other known physical resource type)Resource createRelative(java.lang.String relativePath) throws java.io.IOException
relativePath - the relative path (relative to this resource)java.io.IOException - if the relative resource cannot be determinedjava.lang.String getFilename()
Returns null if this type of resource does not
have a filename.
java.lang.String getDescription()
Implementations are also encouraged to return this value
from their toString method.
Object.toString()