Class ImageRawStream
- java.lang.Object
-
- org.apache.xmlgraphics.image.loader.impl.AbstractImage
-
- org.apache.xmlgraphics.image.loader.impl.ImageRawStream
-
- All Implemented Interfaces:
Image
- Direct Known Subclasses:
ImageRawCCITTFax
,ImageRawEPS
,ImageRawJPEG
,ImageRawPNG
public class ImageRawStream extends AbstractImage
This class is an implementation of the Image interface exposing an InputStream for loading the raw/undecoded image.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ImageRawStream.ByteArrayStreamFactory
InputStream factory that wraps a byte array.static interface
ImageRawStream.InputStreamFactory
Represents a factory for InputStream objects.private static class
ImageRawStream.SingleStreamFactory
InputStream factory that can return a pre-constructed InputStream exactly once.
-
Field Summary
Fields Modifier and Type Field Description private ImageFlavor
flavor
private ImageRawStream.InputStreamFactory
streamFactory
-
Constructor Summary
Constructors Constructor Description ImageRawStream(ImageInfo info, ImageFlavor flavor, java.io.InputStream in)
Constructor for a simple InputStream as parameter.ImageRawStream(ImageInfo info, ImageFlavor flavor, ImageRawStream.InputStreamFactory streamFactory)
Main constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.io.InputStream
createInputStream()
Returns a new InputStream to access the raw image.ImageFlavor
getFlavor()
Returns the flavor of the image.java.lang.String
getMimeType()
Returns the MIME type of the stream data.boolean
isCacheable()
Indicates whether the Image instance is cacheable in memory.void
setInputStreamFactory(ImageRawStream.InputStreamFactory factory)
Sets the InputStreamFactory to be used by this image.void
writeTo(java.io.OutputStream out)
Writes the content of the image to an OutputStream.-
Methods inherited from class org.apache.xmlgraphics.image.loader.impl.AbstractImage
getColorSpace, getICCProfile, getInfo, getSize, toString
-
-
-
-
Field Detail
-
flavor
private ImageFlavor flavor
-
streamFactory
private ImageRawStream.InputStreamFactory streamFactory
-
-
Constructor Detail
-
ImageRawStream
public ImageRawStream(ImageInfo info, ImageFlavor flavor, ImageRawStream.InputStreamFactory streamFactory)
Main constructor.- Parameters:
info
- the image info objectflavor
- the image flavor for the raw imagestreamFactory
- the InputStreamFactory that is used to create InputStream instances
-
ImageRawStream
public ImageRawStream(ImageInfo info, ImageFlavor flavor, java.io.InputStream in)
Constructor for a simple InputStream as parameter.- Parameters:
info
- the image info objectflavor
- the image flavor for the raw imagein
- the InputStream with the raw content
-
-
Method Detail
-
getFlavor
public ImageFlavor getFlavor()
Returns the flavor of the image.- Returns:
- the image flavor
-
getMimeType
public java.lang.String getMimeType()
Returns the MIME type of the stream data.- Returns:
- the MIME type
-
isCacheable
public boolean isCacheable()
Indicates whether the Image instance is cacheable in memory.- Returns:
- true if the Image is cacheable
-
setInputStreamFactory
public void setInputStreamFactory(ImageRawStream.InputStreamFactory factory)
Sets the InputStreamFactory to be used by this image. This method allows to replace the original factory.- Parameters:
factory
- the new InputStreamFactory
-
createInputStream
public java.io.InputStream createInputStream()
Returns a new InputStream to access the raw image.- Returns:
- the InputStream
-
writeTo
public void writeTo(java.io.OutputStream out) throws java.io.IOException
Writes the content of the image to an OutputStream. The OutputStream in NOT closed at the end.- Parameters:
out
- the OutputStream- Throws:
java.io.IOException
- if an I/O error occurs
-
-