Package org.jdesktop.application

# Interface TaskListener<T,V>

Type Parameters:
  `T` - the result type returned by this `SwingWorker's` `doInBackground` and `get` methods
  `V` - the type used for carrying out intermediate results by this `SwingWorker's` `publish` and `process` methods

All Known Implementing Classes:
  `TaskListener.Adapter`

public interface TaskListener<T,V>
Listener used for observing `Task` execution. A `TaskListener` is particularly useful for monitoring the the intermediate results `published` by a Task in situations where it's not practical to override the Task's `process` method. Note that if what you really want to do is monitor a Task's state and progress, a PropertyChangeListener is probably more appropriate.

The Task class runs all TaskListener methods on the event dispatching thread and the source of all TaskEvents is the Task object.

Author:
  Hans Muller (Hans.Muller@Sun.COM)
See Also:
  - `Task.addTaskListener(org.jdesktop.application.TaskListener<T, V>)`
  - `Task.removeTaskListener(org.jdesktop.application.TaskListener<T, V>)`
  - `SwingWorker.addPropertyChangeListener(java.beans.PropertyChangeListener)`

## Nested Class Summary

Nested Classes
Modifier and Type
Interface
Description
`static class`
`TaskListener.Adapter<T,V>`
Convenience class that stubs all of the TaskListener interface methods.

## Method Summary

Modifier and Type
Method
Description
`void`
`cancelled(TaskEvent<Void> event)`
Called after the Task's `cancelled` method is called.
`void`
`doInBackground(TaskEvent<Void> event)`
Called just before the Task's `doInBackground` method is called, i.e.
`void`
`failed(TaskEvent<Throwable> event)`
Called after the Task's `failed` completion method is called.
`void`
`finished(TaskEvent<Void> event)`
Called after the Task's `finished` method is called.
`void`
`interrupted(TaskEvent<InterruptedException> event)`
Called after the Task's `interrupted` method is called.
`void`
`process(TaskEvent<List<V>> event)`
Called each time the Task's `process` method is called.
`void`
`succeeded(TaskEvent<T> event)`
Called after the Task's `succeeded` completion method is called.

## Method Details

### doInBackground

void doInBackground(TaskEvent<Void> event)
Called just before the Task's `doInBackground` method is called, i.e. just before the task begins running. The `event's` source is the Task and its value is null.

Parameters:
  `event` - a TaskEvent whose source is the `Task` object, value is null
See Also:
  - `SwingWorker.doInBackground()`
  - `EventObject.getSource()`

### process

void process(TaskEvent<List<V>> event)
Called each time the Task's `process` method is called. The value of the event is the list of values passed to the process method.

Parameters:
  `event` - a TaskEvent whose source is the `Task` object and whose value is a list of the values passed to the `Task.process()` method
See Also:
  - `SwingWorker.doInBackground()`
  - `Task.process(java.util.List<V>)`
  - `EventObject.getSource()`
  - `TaskEvent.getValue()`

### succeeded

void succeeded(TaskEvent<T> event)
Called after the Task's `succeeded` completion method is called. The event's value is the value returned by the Task's `get` method, i.e. the value that is computed by `SwingWorker.doInBackground()`.

Parameters:
  `event` - a TaskEvent whose source is the `Task` object, and whose value is the value returned by `Task.get()`.
See Also:
  - `Task.succeeded(T)`
  - `EventObject.getSource()`
  - `TaskEvent.getValue()`

### failed

void failed(TaskEvent<Throwable> event)
Called after the Task's `failed` completion method is called. The event's value is the Throwable passed to `Task.failed()`.

Parameters:
  `event` - a TaskEvent whose source is the `Task` object, and whose value is the Throwable passed to `Task.failed()`.
See Also:
  - `Task.failed(java.lang.Throwable)`
  - `EventObject.getSource()`
  - `TaskEvent.getValue()`

### cancelled

void cancelled(TaskEvent<Void> event)
Called after the Task's `cancelled` method is called. The `event's` source is the Task and its value is null.

Parameters:
  `event` - a TaskEvent whose source is the `Task` object, value is null
See Also:
  - `Task.cancelled()`
  - `SwingWorker.get()`
  - `EventObject.getSource()`

### interrupted

void interrupted(TaskEvent<InterruptedException> event)
Called after the Task's `interrupted` method is called. The `event's` source is the Task and its value is the InterruptedException passed to `Task.interrupted()`.

Parameters:
  `event` - a TaskEvent whose source is the `Task` object, and whose value is the InterruptedException passed to `Task.interrupted()`.
See Also:
  - `Task.interrupted(java.lang.InterruptedException)`
  - `EventObject.getSource()`
  - `TaskEvent.getValue()`

### finished

void finished(TaskEvent<Void> event)
Called after the Task's `finished` method is called. The `event's` source is the Task and its value is null.

Parameters:
  `event` - a TaskEvent whose source is the `Task` object, value is null.
See Also:
  - `Task.interrupted(java.lang.InterruptedException)`
  - `EventObject.getSource()`