com.lowagie.rups.model

## Class BackgroundTask

- java.lang.Object
- - com.lowagie.rups.model.BackgroundTask

Direct Known Subclasses:
  ObjectLoader, PageLoader

    public abstract class BackgroundTask
    extends java.lang.Object

Allows you to perform long lasting tasks in background. If we ever move to Java 6, we should use the SwingWorker class (included in the JDK) instead of this custom Event Dispatching code.

### Nested Class Summary

Nested Classes
`private static class` `BackgroundTask.ThreadWrapper` Inner class that holds the reference to the thread.

### Field Summary

Fields
`private BackgroundTask.ThreadWrapper` `thread` A wrapper for the tread that executes a time-consuming task.

### Constructor Summary

Constructors
Constructor and Description
`BackgroundTask()` Starts a thread.

### Method Summary

Methods
`abstract void` `doTask()` Implement this class; the time-consuming task will go here.
`void` `finished()` Called on the event dispatching thread once the construct method has finished its task.
`void` `interrupt()` Forces the thread to stop what it's doing.
`void` `start()` Starts the thread.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### thread

    private BackgroundTask.ThreadWrapper thread

A wrapper for the tread that executes a time-consuming task.

### Constructor Detail

#### BackgroundTask

    public BackgroundTask()

Starts a thread. Executes the time-consuming task in the construct method; finally calls the finish().

### Method Detail

#### doTask

    public abstract void doTask()

Implement this class; the time-consuming task will go here.

#### start

    public void start()

Starts the thread.

#### interrupt

    public void interrupt()

Forces the thread to stop what it's doing.

#### finished

    public void finished()

Called on the event dispatching thread once the construct method has finished its task.