Package org.grails.io.support
Interface Resource
-
- All Known Implementing Classes:
AbstractFileResolvingResource,ClassPathResource,FileSystemResource,UrlResource
public interface ResourceInterface for a resource descriptor that abstracts from the actual type of underlying resource, such as a file or class path resource.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.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description longcontentLength()Determine the content length for this resource.ResourcecreateRelative(java.lang.String relativePath)Creates a new resource relative to this onebooleanexists()Return whether this resource actually exists in physical form.java.lang.StringgetDescription()Return a description for this resource, to be used for error output when working with the resource.java.io.FilegetFile()Return a File handle for this resource.java.lang.StringgetFilename()Determine a filename for this resource, i.e.java.io.InputStreamgetInputStream()An input streamjava.net.URIgetURI()Return a URI handle for this resource.java.net.URLgetURL()Return a URL handle for this resource.booleanisReadable()Return whether the contents of this resource can be read, e.g.longlastModified()Determine the last-modified timestamp for this resource.
-
-
-
Method Detail
-
getInputStream
java.io.InputStream getInputStream() throws java.io.IOExceptionAn input stream- Returns:
- The input stream
- Throws:
java.io.IOException
-
exists
boolean exists()
Return whether this resource actually exists in physical form.This method performs a definitive existence check, whereas the existence of a
Resourcehandle only guarantees a valid descriptor handle.
-
isReadable
boolean isReadable()
Return whether the contents of this resource can be read, e.g. viagetInputStream()orgetFile().Will be
truefor typical resource descriptors; note that actual content reading may still fail when attempted. However, a value offalseis a definitive indication that the resource content cannot be read.- See Also:
getInputStream()
-
getURL
java.net.URL getURL() throws java.io.IOExceptionReturn a URL handle for this resource.- Throws:
java.io.IOException- if the resource cannot be resolved as URL, i.e. if the resource is not available as descriptor
-
getURI
java.net.URI getURI() throws java.io.IOExceptionReturn a URI handle for this resource.- Throws:
java.io.IOException- if the resource cannot be resolved as URI, i.e. if the resource is not available as descriptor
-
getFile
java.io.File getFile() throws java.io.IOExceptionReturn a File handle for this resource.- Throws:
java.io.IOException- if the resource cannot be resolved as absolute file path, i.e. if the resource is not available in a file system
-
contentLength
long contentLength() throws java.io.IOExceptionDetermine the content length for this resource.- Throws:
java.io.IOException- if the resource cannot be resolved (in the file system or as some other known physical resource type)
-
lastModified
long lastModified() throws java.io.IOExceptionDetermine the last-modified timestamp for this resource.- Throws:
java.io.IOException- if the resource cannot be resolved (in the file system or as some other known physical resource type)
-
getFilename
java.lang.String getFilename()
Determine a filename for this resource, i.e. typically the last part of the path: for example, "myfile.txt".Returns
nullif this type of resource does not have a filename.
-
getDescription
java.lang.String getDescription()
Return a description for this resource, to be used for error output when working with the resource.Implementations are also encouraged to return this value from their
toStringmethod.- See Also:
Object.toString()
-
createRelative
Resource createRelative(java.lang.String relativePath)
Creates a new resource relative to this one- Parameters:
relativePath- The relative path- Returns:
- The new resource
-
-