com.sun.media.jai.codec
Class ImageDecoderImpl

java.lang.Object
  extended bycom.sun.media.jai.codec.ImageDecoderImpl
All Implemented Interfaces:
ImageDecoder

public abstract class ImageDecoderImpl
extends Object
implements ImageDecoder

A partial implementation of the ImageDecoder interface useful for subclassing.

This class is not a committed part of the JAI API. It may be removed or changed in future releases of JAI.


Field Summary
protected  SeekableStream input
          The SeekableStream associcted with this ImageEncoder.
protected  ImageDecodeParam param
          The ImageDecodeParam object associated with this ImageEncoder.
 
Constructor Summary
ImageDecoderImpl(InputStream input, ImageDecodeParam param)
          Constructs an ImageDecoderImpl with a given InputStream and ImageDecodeParam instance.
ImageDecoderImpl(SeekableStream input, ImageDecodeParam param)
          Constructs an ImageDecoderImpl with a given SeekableStream and ImageDecodeParam instance.
 
Method Summary
 Raster decodeAsRaster()
          Returns a Raster that contains the decoded contents of the SeekableStream associated with this ImageDecoder.
 Raster decodeAsRaster(int page)
          Returns a Raster that contains the decoded contents of the SeekableStream associated with this ImageDecoder.
 RenderedImage decodeAsRenderedImage()
          Returns a RenderedImage that contains the decoded contents of the SeekableStream associated with this ImageDecoder.
abstract  RenderedImage decodeAsRenderedImage(int page)
          Returns a RenderedImage that contains the decoded contents of the SeekableStream associated with this ImageDecoder.
 SeekableStream getInputStream()
          Returns the SeekableStream associated with this ImageDecoder.
 int getNumPages()
          Returns the number of pages present in the current stream.
 ImageDecodeParam getParam()
          Returns the current parameters as an instance of the ImageDecodeParam interface.
 void setParam(ImageDecodeParam param)
          Sets the current parameters to an instance of the ImageDecodeParam interface.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

input

protected SeekableStream input
The SeekableStream associcted with this ImageEncoder.


param

protected ImageDecodeParam param
The ImageDecodeParam object associated with this ImageEncoder.

Constructor Detail

ImageDecoderImpl

public ImageDecoderImpl(SeekableStream input,
                        ImageDecodeParam param)
Constructs an ImageDecoderImpl with a given SeekableStream and ImageDecodeParam instance.


ImageDecoderImpl

public ImageDecoderImpl(InputStream input,
                        ImageDecodeParam param)
Constructs an ImageDecoderImpl with a given InputStream and ImageDecodeParam instance. The input parameter will be used to construct a ForwardSeekableStream; if the ability to seek backwards is required, the caller should construct an instance of SeekableStream and make use of the other contructor.

Method Detail

getParam

public ImageDecodeParam getParam()
Returns the current parameters as an instance of the ImageDecodeParam interface. Concrete implementations of this interface will return corresponding concrete implementations of the ImageDecodeParam interface. For example, a JPEGImageDecoder will return an instance of JPEGDecodeParam.

Specified by:
getParam in interface ImageDecoder

setParam

public void setParam(ImageDecodeParam param)
Sets the current parameters to an instance of the ImageDecodeParam interface. Concrete implementations of ImageDecoder may throw a RuntimeException if the param argument is not an instance of the appropriate subclass or subinterface. For example, a JPEGImageDecoder will expect param to be an instance of JPEGDecodeParam.

Specified by:
setParam in interface ImageDecoder

getInputStream

public SeekableStream getInputStream()
Returns the SeekableStream associated with this ImageDecoder.

Specified by:
getInputStream in interface ImageDecoder

getNumPages

public int getNumPages()
                throws IOException
Returns the number of pages present in the current stream. By default, the return value is 1. Subclasses that deal with multi-page formats should override this method.

Specified by:
getNumPages in interface ImageDecoder
Throws:
IOException

decodeAsRaster

public Raster decodeAsRaster()
                      throws IOException
Returns a Raster that contains the decoded contents of the SeekableStream associated with this ImageDecoder. Only the first page of a multi-page image is decoded.

Specified by:
decodeAsRaster in interface ImageDecoder
Throws:
IOException

decodeAsRaster

public Raster decodeAsRaster(int page)
                      throws IOException
Returns a Raster that contains the decoded contents of the SeekableStream associated with this ImageDecoder. The given page of a multi-page image is decoded. If the page does not exist, an IOException will be thrown. Page numbering begins at zero.

Specified by:
decodeAsRaster in interface ImageDecoder
Parameters:
page - The page to be decoded.
Throws:
IOException

decodeAsRenderedImage

public RenderedImage decodeAsRenderedImage()
                                    throws IOException
Returns a RenderedImage that contains the decoded contents of the SeekableStream associated with this ImageDecoder. Only the first page of a multi-page image is decoded.

Specified by:
decodeAsRenderedImage in interface ImageDecoder
Throws:
IOException

decodeAsRenderedImage

public abstract RenderedImage decodeAsRenderedImage(int page)
                                             throws IOException
Returns a RenderedImage that contains the decoded contents of the SeekableStream associated with this ImageDecoder. The given page of a multi-page image is decoded. If the page does not exist, an IOException will be thrown. Page numbering begins at zero.

Specified by:
decodeAsRenderedImage in interface ImageDecoder
Parameters:
page - The page to be decoded.
Throws:
IOException