## org.springframework.core.io
Class DescriptiveResource

    java.lang.Object
      org.springframework.core.io.AbstractResource
          org.springframework.core.io.DescriptiveResource

All Implemented Interfaces:
  InputStreamSource, Resource

    public class DescriptiveResource

extends AbstractResource

Simple `Resource` implementation that holds a resource description but does not point to an actually readable resource.

To be used as placeholder if a `Resource` argument is expected by an API but not necessarily used for actual reading.

Since:
  1.2.6
Author:
  Juergen Hoeller

Constructor Summary
`DescriptiveResource(String description)` Create a new DescriptiveResource.

Method Summary
`boolean` `equals(Object obj)` This implementation compares the underlying description String.
`boolean` `exists()` This implementation checks whether a File can be opened, falling back to whether an InputStream can be opened.
`String` `getDescription()` Return a description for this resource, to be used for error output when working with the resource.
`InputStream` `getInputStream()` Return an `InputStream`.
`int` `hashCode()` This implementation returns the hash code of the underlying description String.
`boolean` `isReadable()` This implementation always returns `true`.

Methods inherited from class org.springframework.core.io.AbstractResource
`createRelative, getFile, getFileForLastModifiedCheck, getFilename, getURI, getURL, isOpen, lastModified, toString`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Constructor Detail

### DescriptiveResource

    public DescriptiveResource(String description)

  Create a new DescriptiveResource.

  Parameters:
    `description` - the resource description

Method Detail

### exists

    public boolean exists()

  Description copied from class: `AbstractResource`
  This implementation checks whether a File can be opened, falling back to whether an InputStream can be opened. This will cover both directories and content resources.

  Specified by:
    `exists` in interface `Resource`
  Overrides:
    `exists` in class `AbstractResource`

### isReadable

    public boolean isReadable()

  Description copied from class: `AbstractResource`
  This implementation always returns `true`.

  Specified by:
    `isReadable` in interface `Resource`
  Overrides:
    `isReadable` in class `AbstractResource`

### getInputStream

    public InputStream getInputStream()
                               throws IOException

  Description copied from interface: `InputStreamSource`
  Return an `InputStream`.

  It is expected that each call creates a fresh stream.

  This requirement is particularly important when you consider an API such as JavaMail, which needs to be able to read the stream multiple times when creating mail attachments. For such a use case, it is required that each `getInputStream()` call returns a fresh stream.

  Throws:
    `IOException` - if the stream could not be opened
  See Also:
    `MimeMessageHelper.addAttachment(String, InputStreamSource)`

### getDescription

    public String getDescription()

  Description copied from interface: `Resource`
  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()`

### equals

    public boolean equals(Object obj)

  This implementation compares the underlying description String.

  Overrides:
    `equals` in class `AbstractResource`
  See Also:
    `Resource.getDescription()`

### hashCode

    public int hashCode()

  This implementation returns the hash code of the underlying description String.

  Overrides:
    `hashCode` in class `AbstractResource`
  See Also:
    `Resource.getDescription()`

Copyright © 2002-2008 The Spring Framework.