com.bbn.openmap.util
Class SwingWorker<T>

java.lang.Object
  extended by com.bbn.openmap.util.SwingWorker<T>
Type Parameters:
T - The type of value computed by the task.
All Implemented Interfaces:
ISwingWorker<T>
Direct Known Subclasses:
PooledSwingWorker

public abstract class SwingWorker<T>
extends java.lang.Object
implements ISwingWorker<T>

This class used to be based on the 3rd version of SwingWorker. But Carsten provided a more modern version that's a lot cleaner.


Constructor Summary
SwingWorker()
          Start a thread that will call the construct method and then exit.
 
Method Summary
abstract  T construct()
          Compute the value to be returned by the get method.
 void execute()
          For compatibility with old versions of SwingWorker, calls start().
 void finished()
          Called on the event dispatching thread (not on the worker thread) after the construct method has returned.
 T get()
          Return the value created by the construct method.
 java.lang.Exception getExecutionException()
           
 java.util.concurrent.FutureTask<T> getFuture()
           
 void interrupt()
          A new method that interrupts the worker thread.
 boolean isInterrupted()
           
 void setExecutionException(java.lang.Exception executionException)
           
 void setFuture(java.util.concurrent.FutureTask<T> future)
           
 void start()
          Start the worker thread.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SwingWorker

public SwingWorker()
Start a thread that will call the construct method and then exit.

Method Detail

construct

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

Specified by:
construct in interface ISwingWorker<T>
Returns:
the get method return

execute

public void execute()
For compatibility with old versions of SwingWorker, calls start().

Specified by:
execute in interface ISwingWorker<T>

start

public void start()
Start the worker thread.

Specified by:
start in interface ISwingWorker<T>

get

public T get()
Return the value created by the construct method. Returns null if either the constructing thread or the current thread was interrupted before a value was produced.

Specified by:
get in interface ISwingWorker<T>
Returns:
the value created by the construct method

interrupt

public void interrupt()
A new method that interrupts the worker thread. Call this method to force the worker to stop what it's doing.

Specified by:
interrupt in interface ISwingWorker<T>

isInterrupted

public boolean isInterrupted()
Specified by:
isInterrupted in interface ISwingWorker<T>

finished

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

Specified by:
finished in interface ISwingWorker<T>

getExecutionException

public java.lang.Exception getExecutionException()
Returns:
the executionException

setExecutionException

public void setExecutionException(java.lang.Exception executionException)
Parameters:
executionException - the executionException to set

getFuture

public java.util.concurrent.FutureTask<T> getFuture()
Returns:
the future

setFuture

public void setFuture(java.util.concurrent.FutureTask<T> future)
Parameters:
future - the future to set


Copyright (C) BBNT Solutions LLC; See http://openmap.bbn.com/ for details