public interface Resource
Modifier and Type | Method and Description |
---|---|
long |
contentLength()
Determine the content length for this resource.
|
Resource |
createRelativeResource(String relativePath)
Create a resource relative to this resource.
|
boolean |
exists()
Return whether this resource actually exists in physical form.
|
String |
getDescription()
Return a description for this resource, to be used for error output when working with the resource.
|
File |
getFile()
Return a File handle for this resource.
|
String |
getFilename()
Determine a filename for this resource, i.e.
|
InputStream |
getInputStream()
Return an
InputStream . |
URI |
getURI()
Return a URI handle for this resource.
|
URL |
getURL()
Return a URL handle for this resource.
|
boolean |
isOpen()
Return whether this resource represents a handle with an open stream.
|
boolean |
isReadable()
Return whether the contents of this resource can be read, e.g.
|
long |
lastModified()
Determine the last-modified timestamp for this resource.
|
boolean exists()
This method performs a definitive existence check, whereas the existence of a Resource
handle only
guarantees a valid descriptor handle.
boolean isReadable()
getInputStream()
or
getFile()
.
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.
getInputStream()
boolean isOpen()
Will be false
for typical resource descriptors.
URL getURL() throws IOException
IOException
- if the resource cannot be resolved as URL, i.e. if the resource is not available as
descriptorURI getURI() throws IOException
IOException
- if the resource cannot be resolved as URI, i.e. if the resource is not available as
descriptorFile getFile() throws IOException
IOException
- if the resource cannot be resolved as absolute file path, i.e. if the resource is not
available in a file system@Nonnull InputStream getInputStream() throws IOException
InputStream
.
It is expected that each call creates a fresh stream.
This requirement is particularly important when you consider an API such as JavaMail, which needs to be able to
read the stream multiple times when creating mail attachments. For such a use case, it is required that
each getInputStream()
call returns a fresh stream.
null
)IOException
- if the stream could not be openedorg.springframework.mail.javamail.MimeMessageHelper#addAttachment(String,
org.springframework.core.io.InputStreamSource)
long contentLength() throws IOException
IOException
- if the resource cannot be resolved (in the file system or as some other known physical
resource type)long lastModified() throws IOException
IOException
- if the resource cannot be resolved (in the file system or as some other known physical
resource type)Resource createRelativeResource(String relativePath) throws IOException
relativePath
- the relative path (relative to this resource)IOException
- if the relative resource cannot be determinedString getFilename()
null
if this type of resource does not have a filename, otherwise the file name.String getDescription()
Implementations are also encouraged to return this value from their toString
method.
Object.toString()
Copyright © 2016 JBoss by Red Hat. All rights reserved.