org.springframework.core.io
Class InputStreamResource
- java.lang.Object
-
- org.springframework.core.io.AbstractResource
-
- org.springframework.core.io.InputStreamResource
-
- All Implemented Interfaces:
- InputStreamSource, Resource
public class InputStreamResource extends AbstractResource
Resource
implementation for a given InputStream. Should only be used if no specific Resource implementation is applicable. In particular, preferByteArrayResource
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 it if you need to keep the resource descriptor somewhere, or if you need to read a stream multiple times.- Since:
- 28.12.2003
- Author:
- Juergen Hoeller
- See Also:
-
ByteArrayResource
,ClassPathResource
,FileSystemResource
,UrlResource
-
Constructor Summary
Constructors Constructor and Description InputStreamResource(InputStream inputStream)
Create a new InputStreamResource.InputStreamResource(InputStream inputStream, String description)
Create a new InputStreamResource.
Method Summary
Methods Modifier and Type Method and Description boolean
equals(Object obj)
This implementation compares the underlying InputStream.boolean
exists()
This implementation always returnstrue
.String
getDescription()
This implementation returns the passed-in description, if any.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 returnstrue
.Methods inherited from class org.springframework.core.io.AbstractResource
contentLength, createRelative, getFile, getFileForLastModifiedCheck, getFilename, getURI, getURL, isReadable, lastModified, toString
-
Constructor Detail
InputStreamResource
public InputStreamResource(InputStream inputStream)
Create a new InputStreamResource.- Parameters:
-
inputStream
- the InputStream to use
InputStreamResource
public InputStreamResource(InputStream inputStream, String description)
Create a new InputStreamResource.- Parameters:
-
inputStream
- the InputStream to use -
description
- where the InputStream comes from
Method Detail
exists
public boolean exists()
This implementation always returnstrue
.- Specified by:
-
exists
in interfaceResource
- Overrides:
-
exists
in classAbstractResource
isOpen
public boolean isOpen()
This implementation always returnstrue
.- Specified by:
-
isOpen
in interfaceResource
- Overrides:
-
isOpen
in classAbstractResource
getInputStream
public InputStream getInputStream() throws IOException, IllegalStateException
This implementation throws IllegalStateException if attempting to read the underlying stream multiple times.- Returns:
-
the input stream for the underlying resource (must not be
null
) - Throws:
-
IOException
- if the stream could not be opened -
IllegalStateException
- See Also:
-
org.springframework.mail.javamail.MimeMessageHelper#addAttachment(String, InputStreamSource)
getDescription
public String getDescription()
This implementation returns the passed-in description, if any.- See Also:
-
Object.toString()
equals
public boolean equals(Object obj)
This implementation compares the underlying InputStream.- Overrides:
-
equals
in classAbstractResource
- See Also:
-
Resource.getDescription()
hashCode
public int hashCode()
This implementation returns the hash code of the underlying InputStream.- Overrides:
-
hashCode
in classAbstractResource
- See Also:
-
Resource.getDescription()