public class DescriptiveResource extends AbstractResource
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.
Modifier and Type | Field and Description |
---|---|
private java.lang.String |
description |
Constructor and Description |
---|
DescriptiveResource(java.lang.String description)
Create a new DescriptiveResource.
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.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.
|
java.lang.String |
getDescription()
Return a description for this resource,
to be used for error output when working with the resource.
|
java.io.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 . |
contentLength, createRelative, getFile, getFileForLastModifiedCheck, getFilename, getURI, getURL, isOpen, lastModified, toString
public DescriptiveResource(java.lang.String description)
description
- the resource descriptionpublic boolean exists()
AbstractResource
exists
in interface Resource
exists
in class AbstractResource
public boolean isReadable()
AbstractResource
true
.isReadable
in interface Resource
isReadable
in class AbstractResource
InputStreamSource.getInputStream()
public java.io.InputStream getInputStream() throws java.io.IOException
InputStreamSource
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.
null
)java.io.IOException
- if the stream could not be openedMimeMessageHelper.addAttachment(String, InputStreamSource)
public java.lang.String getDescription()
Resource
Implementations are also encouraged to return this value
from their toString
method.
Object.toString()
public boolean equals(java.lang.Object obj)
equals
in class AbstractResource
Resource.getDescription()
public int hashCode()
hashCode
in class AbstractResource
Resource.getDescription()