public class InputStreamResource extends AbstractResource
Resource
implementation for a given InputStream
.
Should only be used if no other specific Resource
implementation
is applicable. In particular, prefer ByteArrayResource
or any of the
file-based Resource
implementations where possible.
In contrast to other Resource
implementations, this is a descriptor
for an already opened resource - therefore returning true
from
isOpen()
. Do not use an InputStreamResource
if you need to
keep the resource descriptor somewhere, or if you need to read from a stream
multiple times.
ByteArrayResource
,
ClassPathResource
,
FileSystemResource
,
UrlResource
Modifier and Type | Field and Description |
---|---|
private java.lang.String |
description |
private java.io.InputStream |
inputStream |
private boolean |
read |
Constructor and Description |
---|
InputStreamResource(java.io.InputStream inputStream)
Create a new InputStreamResource.
|
InputStreamResource(java.io.InputStream inputStream,
java.lang.String description)
Create a new InputStreamResource.
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object obj)
This implementation compares the underlying InputStream.
|
boolean |
exists()
This implementation always returns
true . |
java.lang.String |
getDescription()
This implementation returns a description that includes the passed-in
description, if any.
|
java.io.InputStream |
getInputStream()
This implementation throws IllegalStateException if attempting to
read the underlying stream multiple times.
|
int |
hashCode()
This implementation returns the hash code of the underlying InputStream.
|
boolean |
isOpen()
This implementation always returns
true . |
contentLength, createRelative, getFile, getFileForLastModifiedCheck, getFilename, getURI, getURL, isReadable, lastModified, toString
private final java.io.InputStream inputStream
private final java.lang.String description
private boolean read
public InputStreamResource(java.io.InputStream inputStream)
inputStream
- the InputStream to usepublic InputStreamResource(java.io.InputStream inputStream, java.lang.String description)
inputStream
- the InputStream to usedescription
- where the InputStream comes frompublic boolean exists()
true
.exists
in interface Resource
exists
in class AbstractResource
public boolean isOpen()
true
.isOpen
in interface Resource
isOpen
in class AbstractResource
public java.io.InputStream getInputStream() throws java.io.IOException, java.lang.IllegalStateException
null
)java.io.IOException
- if the stream could not be openedjava.lang.IllegalStateException
MimeMessageHelper.addAttachment(String, InputStreamSource)
public java.lang.String getDescription()
Object.toString()
public boolean equals(java.lang.Object obj)
equals
in class AbstractResource
Resource.getDescription()
public int hashCode()
hashCode
in class AbstractResource
Resource.getDescription()