Package generic.concurrent

# Interface QProgressListener<I>

public interface QProgressListener<I>
Interface for listeners who want progress and transient message information from QWorkers while processing items.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `maxProgressChanged(long id, I item, long maxProgress)`
  Notification that the max progress value has changed.
  `void`
  `progressChanged(long id, I item, long currentProgress)`
  Notification that progress has changed during the processing of an item.
  `void`
  `progressMessageChanged(long id, I item, String message)`
  `void`
  `progressModeChanged(long id, I item, boolean indeterminate)`
  Notification that the progress mode has changed from/to indeterminate mode
  `void`
  `taskEnded(long id, I item, long totalCount, long completedCount)`
  Notification that a new task has completed processing for an item.
  `void`
  `taskStarted(long id, I item)`
  Notification that a new task has been generated to process an item.

- ## Method Details

  - ### progressChanged

    void progressChanged(long id, I item, long currentProgress)
    Notification that progress has changed during the processing of an item.
    Parameters:
      `id` - the id of the item being processed. Since multiple items can be processed concurrently, the id can be used to "demultiplex" the progress and messages being generated.
      `item` - the item that was being processed when the worker changed the max progress.
      `currentProgress` - the current value of the progress for this task.

  - ### taskStarted

    void taskStarted(long id, I item)
    Notification that a new task has been generated to process an item.
    Parameters:
      `id` - the id of the item being processed.
      `item` - the item that was being processed when the worker changed the max progress.

  - ### taskEnded

    void taskEnded(long id, I item, long totalCount, long completedCount)
    Notification that a new task has completed processing for an item.
    Parameters:
      `id` - the id of the item that has completed processing.
      `item` - the item that was being processed when the worker changed the max progress.
      `totalCount` - the total number of items that have been submitted to the ConcurrentQ
      `completedCount` - the total number of items that completed processing.

  - ### progressModeChanged

    void progressModeChanged(long id, I item, boolean indeterminate)
    Notification that the progress mode has changed from/to indeterminate mode
    Parameters:
      `id` - the id of the item that has completed processing.
      `item` - the item that was being processed when the worker changed the max progress.
      `indeterminate` -

  - ### progressMessageChanged

    void progressMessageChanged(long id, I item, String message)
    Parameters:
      `id` - the id of the item that has completed processing.
      `item` - the item that was being processed when the worker changed the max progress.
      `message` -

  - ### maxProgressChanged

    void maxProgressChanged(long id, I item, long maxProgress)
    Notification that the max progress value has changed.
    Parameters:
      `id` - the id of the item that has completed processing.
      `item` - the item that was being processed when the worker changed the max progress.
      `maxProgress` - the max value of the progress for this task.