Package org.pushingpixels.substance.internal.contrib.randelshofer.quaqua.util

# Class Worker

java.lang.Object
org.pushingpixels.substance.internal.contrib.randelshofer.quaqua.util.Worker

All Implemented Interfaces:
  `Runnable`

public abstract class Worker extends Object implements Runnable
This is an abstract class that you subclass to perform GUI-related work in a dedicated event dispatcher.

This class is similar to SwingWorker but less complex. Like a SwingWorker it can run using an an internal worker thread but it can also be like a Runnable object.

## Constructor Summary

Constructors
Constructor
Description
`Worker()`

## Method Summary

Modifier and Type
Method
Description
`abstract Object`
`construct()`
Compute the value to be returned by the `get` method.
`abstract void`
`finished(Object value)`
Called on the event dispatching thread (not on the worker thread) after the `construct` method has returned.
`protected Object`
`getValue()`
Get the value produced by the worker thread, or null if it hasn't been constructed yet.
`final void`
`run()`
Calls #construct on the current thread and invokes #finished on the AWT event dispatcher thread.
`void`
`start()`
Starts the Worker on an internal worker thread.

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

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

## Constructor Details

### Worker

public Worker()

## Method Details

### run

public final void run()
Calls #construct on the current thread and invokes #finished on the AWT event dispatcher thread.

Specified by:
  `run` in interface `Runnable`

### construct

public abstract Object construct()
Compute the value to be returned by the `get` method.

### finished

public abstract void finished(Object value)
Called on the event dispatching thread (not on the worker thread) after the `construct` method has returned.

Parameters:
  `value` - The return value of the construct method.

### getValue

protected Object getValue()
Get the value produced by the worker thread, or null if it hasn't been constructed yet.

### start

public void start()
Starts the Worker on an internal worker thread.