org.codehaus.groovy.grails.io.support
Class FileSystemResource

java.lang.Object
  extended by org.codehaus.groovy.grails.io.support.FileSystemResource
All Implemented Interfaces:
Resource

public class FileSystemResource
extends java.lang.Object
implements Resource

Based on Spring FileSystemResource implementation.

Since:
28.12.2003
See Also:
File

Constructor Summary
FileSystemResource(java.io.File file)
          Create a new FileSystemResource from a File handle.
FileSystemResource(java.lang.String path)
          Create a new FileSystemResource from a file path.
 
Method Summary
protected  void assertNotNull(java.lang.Object object, java.lang.String message)
           
 long contentLength()
          This implementation returns the underlying File's length.
 Resource createRelative(java.lang.String relativePath)
          This implementation creates a FileSystemResource, applying the given path relative to the path of the underlying file of this resource descriptor.
 boolean equals(java.lang.Object obj)
          This implementation compares the underlying File references.
 boolean exists()
          This implementation returns whether the underlying file exists.
 java.lang.String getDescription()
          This implementation returns a description that includes the absolute path of the file.
 java.io.File getFile()
          This implementation returns the underlying File reference.
 java.lang.String getFilename()
          This implementation returns the name of the file.
 java.io.InputStream getInputStream()
          This implementation opens a FileInputStream for the underlying file.
 java.io.OutputStream getOutputStream()
          This implementation opens a FileOutputStream for the underlying file.
 java.lang.String getPath()
          Return the file path for this resource.
 java.net.URI getURI()
          This implementation returns a URI for the underlying file.
 java.net.URL getURL()
          This implementation returns a URL for the underlying file.
 int hashCode()
          This implementation returns the hash code of the underlying File reference.
 boolean isReadable()
          This implementation checks whether the underlying file is marked as readable (and corresponds to an actual file with content, not to a directory).
 boolean isWritable()
          This implementation checks whether the underlying file is marked as writable (and corresponds to an actual file with content, not to a directory).
 long lastModified()
          Determine the last-modified timestamp for this resource.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FileSystemResource

public FileSystemResource(java.io.File file)
Create a new FileSystemResource from a File handle.

Parameters:
file - a File handle

FileSystemResource

public FileSystemResource(java.lang.String path)
Create a new FileSystemResource from a file path.

Parameters:
path - a file path
Method Detail

getPath

public final java.lang.String getPath()
Return the file path for this resource.


exists

public boolean exists()
This implementation returns whether the underlying file exists.

Specified by:
exists in interface Resource
See Also:
File.exists()

isReadable

public boolean isReadable()
This implementation checks whether the underlying file is marked as readable (and corresponds to an actual file with content, not to a directory).

Specified by:
isReadable in interface Resource
See Also:
File.canRead(), File.isDirectory()

getInputStream

public java.io.InputStream getInputStream()
                                   throws java.io.IOException
This implementation opens a FileInputStream for the underlying file.

Specified by:
getInputStream in interface Resource
Returns:
The input stream
Throws:
java.io.IOException
See Also:
FileInputStream

getURL

public java.net.URL getURL()
                    throws java.io.IOException
This implementation returns a URL for the underlying file.

Specified by:
getURL in interface Resource
Throws:
java.io.IOException - if the resource cannot be resolved as URL, i.e. if the resource is not available as descriptor
See Also:
File.toURI()

getURI

public java.net.URI getURI()
                    throws java.io.IOException
This implementation returns a URI for the underlying file.

Specified by:
getURI in interface Resource
Throws:
java.io.IOException - if the resource cannot be resolved as URI, i.e. if the resource is not available as descriptor
See Also:
File.toURI()

getFile

public java.io.File getFile()
This implementation returns the underlying File reference.

Specified by:
getFile in interface Resource

contentLength

public long contentLength()
                   throws java.io.IOException
This implementation returns the underlying File's length.

Specified by:
contentLength in interface Resource
Throws:
java.io.IOException - if the resource cannot be resolved (in the file system or as some other known physical resource type)

lastModified

public long lastModified()
                  throws java.io.IOException
Description copied from interface: Resource
Determine the last-modified timestamp for this resource.

Specified by:
lastModified in interface Resource
Throws:
java.io.IOException - if the resource cannot be resolved (in the file system or as some other known physical resource type)

getFilename

public java.lang.String getFilename()
This implementation returns the name of the file.

Specified by:
getFilename in interface Resource
See Also:
File.getName()

getDescription

public java.lang.String getDescription()
This implementation returns a description that includes the absolute path of the file.

Specified by:
getDescription in interface Resource
See Also:
File.getAbsolutePath()

createRelative

public Resource createRelative(java.lang.String relativePath)
This implementation creates a FileSystemResource, applying the given path relative to the path of the underlying file of this resource descriptor.

Specified by:
createRelative in interface Resource
Parameters:
relativePath - The relative path
Returns:
The new resource

isWritable

public boolean isWritable()
This implementation checks whether the underlying file is marked as writable (and corresponds to an actual file with content, not to a directory).

See Also:
File.canWrite(), File.isDirectory()

getOutputStream

public java.io.OutputStream getOutputStream()
                                     throws java.io.IOException
This implementation opens a FileOutputStream for the underlying file.

Throws:
java.io.IOException
See Also:
FileOutputStream

equals

public boolean equals(java.lang.Object obj)
This implementation compares the underlying File references.

Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
This implementation returns the hash code of the underlying File reference.

Overrides:
hashCode in class java.lang.Object

assertNotNull

protected void assertNotNull(java.lang.Object object,
                             java.lang.String message)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object