Class ImageDecoderImpl

java.lang.Object
org.apache.xmlgraphics.image.codec.util.ImageDecoderImpl
All Implemented Interfaces:
ImageDecoder
Direct Known Subclasses:
PNGImageDecoder, TIFFImageDecoder

public abstract class ImageDecoderImpl extends Object implements ImageDecoder
A partial implementation of the ImageDecoder interface useful for subclassing.
  • Field Details

    • input

      protected SeekableStream input
      The SeekableStream associcted with this ImageEncoder.
    • param

      protected ImageDecodeParam param
      The ImageDecodeParam object associated with this ImageEncoder.
  • Constructor Details

    • 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 Details

    • 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