Resource (Grails 2.3.8)
Date: 2014-04-24

Overview | Package | Class | Deprecated | Index | Help
| Groovy Documentation
| FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | METHOD | DETAIL: FIELD | METHOD

## 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