org.springframework.core.io
Interface Resource

All Superinterfaces:
InputStreamSource
All Known Implementing Classes:
AbstractResource, ByteArrayResource, ClassPathResource, DescriptiveResource, FileSystemResource, InputStreamResource, ServletContextResource, UrlResource

public interface Resource
extends InputStreamSource

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.

Since:
28.12.2003
Author:
Juergen Hoeller
See Also:
InputStreamSource.getInputStream(), getURL(), getFile(), FileSystemResource, ClassPathResource, UrlResource, ByteArrayResource, InputStreamResource, ServletContextResource

Method Summary
 Resource createRelative(String relativePath)
          Create a resource relative to this resource.
 boolean exists()
          Return whether this resource actually exists in physical form.
 String getDescription()
          Return a description for this resource, to be used for error output when working with the resource.
 File getFile()
          Return a File handle for this resource.
 String getFilename()
          Return a filename for this resource, i.e. typically the last part of the path: for example, "myfile.txt".
 URL getURL()
          Return a URL handle for this resource.
 boolean isOpen()
          Return whether this resource represents a handle with an open stream.
 
Methods inherited from interface org.springframework.core.io.InputStreamSource
getInputStream
 

Method Detail

exists

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


isOpen

boolean isOpen()
Return whether this resource represents a handle with an open stream. If true, the InputStream cannot be read multiple times, and must be read and closed to avoid resource leaks.

Will be false for all usual resource descriptors.


getURL

URL getURL()
           throws IOException
Return a URL handle for this resource.

Throws:
IOException - if the resource cannot be resolved as URL, i.e. if the resource is not available as descriptor

getFile

File getFile()
             throws IOException
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

createRelative

Resource createRelative(String relativePath)
                        throws IOException
Create a resource relative to this resource.

Parameters:
relativePath - the relative path (relative to this resource)
Returns:
the resource handle for the relative resource
Throws:
IOException - if the relative resource cannot be determined

getFilename

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


getDescription

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:
Object.toString()


Copyright (c) 2002-2007 The Spring Framework Project.