IIOReadProgressListener (Java SE 26 & JDK 26)
Description: declaration: module: java.desktop, package: javax.imageio.event, interface: IIOReadProgressListener
Keywords: javax.imageio.event.IIOReadProgressListener interface

# Interface IIOReadProgressListener

All Superinterfaces:
  `EventListener`

public interface IIOReadProgressListener extends EventListener
An interface used by `ImageReader` implementations to notify callers of their image and thumbnail reading methods of progress.

This interface receives general indications of decoding progress (via the `imageProgress` and `thumbnailProgress` methods), and events indicating when an entire image has been updated (via the `imageStarted`, `imageComplete`, `thumbnailStarted` and `thumbnailComplete` methods). Applications that wish to be informed of pixel updates as they happen (for example, during progressive decoding), should provide an `IIOReadUpdateListener`.

See Also:
  - `IIOReadUpdateListener`
  - `ImageReader.addIIOReadProgressListener(IIOReadProgressListener)`
  - `ImageReader.removeIIOReadProgressListener(IIOReadProgressListener)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `imageComplete(ImageReader source)`
  Reports that the current image read operation has completed.
  `void`
  `imageProgress(ImageReader source, float percentageDone)`
  Reports the approximate degree of completion of the current `read` call of the associated `ImageReader`.
  `void`
  `imageStarted(ImageReader source, int imageIndex)`
  Reports that an image read operation is beginning.
  `void`
  `readAborted(ImageReader source)`
  Reports that a read has been aborted via the reader's `abort` method.
  `void`
  `sequenceComplete(ImageReader source)`
  Reports that a sequence of read operations has completed.
  `void`
  `sequenceStarted(ImageReader source, int minIndex)`
  Reports that a sequence of read operations is beginning.
  `void`
  `thumbnailComplete(ImageReader source)`
  Reports that a thumbnail read operation has completed.
  `void`
  `thumbnailProgress(ImageReader source, float percentageDone)`
  Reports the approximate degree of completion of the current `getThumbnail` call within the associated `ImageReader`.
  `void`
  `thumbnailStarted(ImageReader source, int imageIndex, int thumbnailIndex)`
  Reports that a thumbnail read operation is beginning.

- ## Method Details

  - ### sequenceStarted

    void sequenceStarted(ImageReader source, int minIndex)
    Reports that a sequence of read operations is beginning. `ImageReader` implementations are required to call this method exactly once from their `readAll(Iterator)` method.
    Parameters:
      `source` - the `ImageReader` object calling this method.
      `minIndex` - the index of the first image to be read.

  - ### sequenceComplete

    void sequenceComplete(ImageReader source)
    Reports that a sequence of read operations has completed. `ImageReader` implementations are required to call this method exactly once from their `readAll(Iterator)` method.
    Parameters:
      `source` - the `ImageReader` object calling this method.

  - ### imageStarted

    void imageStarted(ImageReader source, int imageIndex)
    Reports that an image read operation is beginning. All `ImageReader` implementations are required to call this method exactly once when beginning an image read operation.
    Parameters:
      `source` - the `ImageReader` object calling this method.
      `imageIndex` - the index of the image being read within its containing input file or stream.

  - ### imageProgress

    void imageProgress(ImageReader source, float percentageDone)
    Reports the approximate degree of completion of the current `read` call of the associated `ImageReader`.

    The degree of completion is expressed as a percentage varying from `0.0F` to `100.0F`. The percentage should ideally be calculated in terms of the remaining time to completion, but it is usually more practical to use a more well-defined metric such as pixels decoded or portion of input stream consumed. In any case, a sequence of calls to this method during a given read operation should supply a monotonically increasing sequence of percentage values. It is not necessary to supply the exact values `0` and `100`, as these may be inferred by the callee from other methods.

    Each particular `ImageReader` implementation may call this method at whatever frequency it desires. A rule of thumb is to call it around each 5 percent mark.

    Parameters:
      `source` - the `ImageReader` object calling this method.
      `percentageDone` - the approximate percentage of decoding that has been completed.

  - ### imageComplete

    void imageComplete(ImageReader source)
    Reports that the current image read operation has completed. All `ImageReader` implementations are required to call this method exactly once upon completion of each image read operation.
    Parameters:
      `source` - the `ImageReader` object calling this method.

  - ### thumbnailStarted

    void thumbnailStarted(ImageReader source, int imageIndex, int thumbnailIndex)
    Reports that a thumbnail read operation is beginning. All `ImageReader` implementations are required to call this method exactly once when beginning a thumbnail read operation.
    Parameters:
      `source` - the `ImageReader` object calling this method.
      `imageIndex` - the index of the image being read within its containing input file or stream.
      `thumbnailIndex` - the index of the thumbnail being read.

  - ### thumbnailProgress

    void thumbnailProgress(ImageReader source, float percentageDone)
    Reports the approximate degree of completion of the current `getThumbnail` call within the associated `ImageReader`. The semantics are identical to those of `imageProgress`.
    Parameters:
      `source` - the `ImageReader` object calling this method.
      `percentageDone` - the approximate percentage of decoding that has been completed.

  - ### thumbnailComplete

    void thumbnailComplete(ImageReader source)
    Reports that a thumbnail read operation has completed. All `ImageReader` implementations are required to call this method exactly once upon completion of each thumbnail read operation.
    Parameters:
      `source` - the `ImageReader` object calling this method.

  - ### readAborted

    void readAborted(ImageReader source)
    Reports that a read has been aborted via the reader's `abort` method. No further notifications will be given.
    Parameters:
      `source` - the `ImageReader` object calling this method.