Class ImageDecoderImpl

  • All Implemented Interfaces:
    ImageDecoder
    Direct Known Subclasses:
    PNGImageDecoder

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

      Fields 
      Modifier and Type Field Description
      protected SeekableStream input
      The SeekableStream associcted with this ImageEncoder.
      protected ImageDecodeParam param
      The ImageDecodeParam object associated with this ImageEncoder.
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      java.awt.image.Raster decodeAsRaster()
      Returns a Raster that contains the decoded contents of the SeekableStream associated with this ImageDecoder.
      java.awt.image.Raster decodeAsRaster​(int page)
      Returns a Raster that contains the decoded contents of the SeekableStream associated with this ImageDecoder.
      java.awt.image.RenderedImage decodeAsRenderedImage()
      Returns a RenderedImage that contains the decoded contents of the SeekableStream associated with this ImageDecoder.
      abstract java.awt.image.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​(java.io.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
      • getNumPages

        public int getNumPages()
                        throws java.io.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:
        java.io.IOException
      • decodeAsRaster

        public java.awt.image.Raster decodeAsRaster()
                                             throws java.io.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:
        java.io.IOException
      • decodeAsRaster

        public java.awt.image.Raster decodeAsRaster​(int page)
                                             throws java.io.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:
        java.io.IOException
      • decodeAsRenderedImage

        public java.awt.image.RenderedImage decodeAsRenderedImage()
                                                           throws java.io.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:
        java.io.IOException
      • decodeAsRenderedImage

        public abstract java.awt.image.RenderedImage decodeAsRenderedImage​(int page)
                                                                    throws java.io.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:
        java.io.IOException