public abstract class AbstractResource extends Object implements Resource
Resource implementations,
pre-implementing typical behavior.
The "exists" method will check whether a File or InputStream can be opened; "isOpen" will always return false; "getURL" and "getFile" throw an exception; and "toString" will return the description.
| Constructor and Description |
|---|
AbstractResource() |
| Modifier and Type | Method and Description |
|---|---|
long |
contentLength()
This implementation reads the entire InputStream to calculate the
content length.
|
Resource |
createRelative(String relativePath)
This implementation throws a FileNotFoundException, assuming
that relative resources cannot be created for this resource.
|
boolean |
equals(Object obj)
This implementation compares description strings.
|
boolean |
exists()
This implementation checks whether a File can be opened,
falling back to whether an InputStream can be opened.
|
File |
getFile()
This implementation throws a FileNotFoundException, assuming
that the resource cannot be resolved to an absolute file path.
|
protected File |
getFileForLastModifiedCheck()
Determine the File to use for timestamp checking.
|
String |
getFilename()
This implementation always returns
null,
assuming that this resource type does not have a filename. |
URI |
getURI()
This implementation builds a URI based on the URL returned
by
getURL(). |
URL |
getURL()
This implementation throws a FileNotFoundException, assuming
that the resource cannot be resolved to a URL.
|
int |
hashCode()
This implementation returns the description's hash code.
|
boolean |
isOpen()
This implementation always returns
false. |
boolean |
isReadable()
This implementation always returns
true. |
long |
lastModified()
This implementation checks the timestamp of the underlying File,
if available.
|
String |
toString()
This implementation returns the description of this resource.
|
clone, finalize, getClass, notify, notifyAll, wait, wait, waitgetDescriptiongetInputStreampublic boolean exists()
public boolean isReadable()
true.isReadable in interface ResourceInputStreamSource.getInputStream()public boolean isOpen()
false.public URL getURL() throws IOException
getURL in interface ResourceIOException - if the resource cannot be resolved as URL,
i.e. if the resource is not available as descriptorpublic URI getURI() throws IOException
getURL().getURI in interface ResourceIOException - if the resource cannot be resolved as URI,
i.e. if the resource is not available as descriptorpublic File getFile() throws IOException
getFile in interface ResourceFileNotFoundException - if the resource cannot be resolved as
absolute file path, i.e. if the resource is not available in a file systemIOException - in case of general resolution/reading failuresInputStreamSource.getInputStream()public long contentLength()
throws IOException
contentLength in interface ResourceIOException - if the resource cannot be resolved
(in the file system or as some other known physical resource type)InputStreamSource.getInputStream()public long lastModified()
throws IOException
lastModified in interface ResourceIOException - if the resource cannot be resolved
(in the file system or as some other known physical resource type)getFileForLastModifiedCheck()protected File getFileForLastModifiedCheck() throws IOException
The default implementation delegates to getFile().
null)FileNotFoundException - if the resource cannot be resolved as
an absolute file path, i.e. is not available in a file systemIOException - in case of general resolution/reading failurespublic Resource createRelative(String relativePath) throws IOException
createRelative in interface ResourcerelativePath - the relative path (relative to this resource)IOException - if the relative resource cannot be determinedpublic String getFilename()
null,
assuming that this resource type does not have a filename.getFilename in interface Resourcepublic String toString()
toString in class ObjectResource.getDescription()public boolean equals(Object obj)
equals in class ObjectResource.getDescription()public int hashCode()
hashCode in class ObjectResource.getDescription()