Groovy Documentation

org.codehaus.groovy.grails.io.support
[Java] Interface Resource


public interface Resource

Interface 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.

Authors:
Juergen Hoeller
See Also:
getURL()
getURI()
getFile()
Since:
28.12.2003


Method Summary
long contentLength()

Determine the content length for this resource.

Resource createRelative(java.lang.String relativePath)

Creates a new resource relative to this one

boolean exists()

Return 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. typically the last part of the path: for example, "myfile.txt".

java.io.InputStream getInputStream()

An input stream

java.net.URI getURI()

Return a URI handle for this resource.

java.net.URL getURL()

Return a URL handle for this resource.

boolean isReadable()

Return whether the contents of this resource can be read, e.g. via getInputStream() or getFile().

long lastModified()

Determine the last-modified timestamp for this resource.

 

Method Detail

contentLength

public long contentLength()
Determine the content length for this resource.
throws:
IOException if the resource cannot be resolved (in the file system or as some other known physical resource type)


createRelative

public Resource createRelative(java.lang.String relativePath)
Creates a new resource relative to this one
Parameters:
relativePath - The relative path
Returns:
The new resource


exists

public boolean exists()
Return whether this resource actually exists in physical form.

This method performs a definitive existence check, whereas the existence of a Resource handle only guarantees a valid descriptor handle.


getDescription

public 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 toString method.

See Also:
java.lang.Object#toString()


getFile

public java.io.File getFile()
Return a File handle for this resource.
throws:
IOException if the resource cannot be resolved as absolute file path, i.e. if the resource is not available in a file system


getFilename

public java.lang.String getFilename()
Determine a filename for this resource, i.e. typically the last part of the path: for example, "myfile.txt".

Returns null if this type of resource does not have a filename.


getInputStream

public java.io.InputStream getInputStream()
An input stream
Returns:
The input stream


getURI

public java.net.URI getURI()
Return a URI handle for this resource.
throws:
IOException if the resource cannot be resolved as URI, i.e. if the resource is not available as descriptor


getURL

public java.net.URL getURL()
Return 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


isReadable

public boolean isReadable()
Return whether the contents of this resource can be read, e.g. via 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.

See Also:
getInputStream()


lastModified

public long lastModified()
Determine the last-modified timestamp for this resource.
throws:
IOException if the resource cannot be resolved (in the file system or as some other known physical resource type)


 

Groovy Documentation