private static class ResourceHandlerFunction.HeadMethodResource extends java.lang.Object implements Resource
Modifier and Type | Field and Description |
---|---|
private Resource |
delegate |
private static byte[] |
EMPTY |
Constructor and Description |
---|
HeadMethodResource(Resource delegate) |
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.io.InputStream |
getInputStream()
Return an
InputStream for the content of an underlying resource. |
java.net.URI |
getURI()
Return a URI handle for this resource.
|
java.net.URL |
getURL()
Return a URL handle for this resource.
|
long |
lastModified()
Determine the last-modified timestamp for this resource.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
isFile, isOpen, isReadable, readableChannel
private static final byte[] EMPTY
private final Resource delegate
public HeadMethodResource(Resource delegate)
public java.io.InputStream getInputStream() throws java.io.IOException
InputStreamSource
InputStream
for the content of an underlying resource.
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.
getInputStream
in interface InputStreamSource
null
)java.io.FileNotFoundException
- if the underlying resource doesn't existjava.io.IOException
- if the content stream could not be openedpublic boolean exists()
Resource
This method performs a definitive existence check, whereas the
existence of a Resource
handle only guarantees a valid
descriptor handle.
public java.net.URL getURL() throws java.io.IOException
Resource
public java.net.URI getURI() throws java.io.IOException
Resource
public java.io.File getFile() throws java.io.IOException
Resource
getFile
in interface Resource
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()
public long contentLength() throws java.io.IOException
Resource
contentLength
in interface Resource
java.io.IOException
- if the resource cannot be resolved
(in the file system or as some other known physical resource type)public long lastModified() throws java.io.IOException
Resource
lastModified
in interface Resource
java.io.IOException
- if the resource cannot be resolved
(in the file system or as some other known physical resource type)public Resource createRelative(java.lang.String relativePath) throws java.io.IOException
Resource
createRelative
in interface Resource
relativePath
- the relative path (relative to this resource)java.io.IOException
- if the relative resource cannot be determined@Nullable public java.lang.String getFilename()
Resource
Returns null
if this type of resource does not
have a filename.
getFilename
in interface Resource
public java.lang.String getDescription()
Resource
Implementations are also encouraged to return this value
from their toString
method.
getDescription
in interface Resource
Object.toString()