org.h2.util

## Class Task

- java.lang.Object
- - org.h2.util.Task

All Implemented Interfaces:
  java.lang.Runnable

    public abstract class Task
    extends java.lang.Object
    implements java.lang.Runnable

A method call that is executed in a separate thread. If the method throws an exception, it is wrapped in a RuntimeException.

### Field Summary

Fields
`boolean` `stop` A flag indicating the get() method has been called.

### Constructor Summary

Constructors
Constructor and Description
`Task()`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`abstract void` `call()` The method to be implemented.
`Task` `execute()` Start the thread.
`Task` `execute(java.lang.String threadName)` Start the thread.
`java.lang.Object` `get()` Calling this method will set the stop flag and wait until the thread is stopped.
`java.lang.Exception` `getException()` Get the exception that was thrown in the call (if any).
`boolean` `isFinished()` Whether the call method has returned (with or without exception).
`void` `join()` Stop the thread and wait until it is no longer running.
`void` `run()`

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

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

### Field Detail

#### stop

    public volatile boolean stop

A flag indicating the get() method has been called.

### Constructor Detail

#### Task

    public Task()

### Method Detail

#### call

    public abstract void call()
                       throws java.lang.Exception

The method to be implemented.

Throws:
  `java.lang.Exception` - any exception is wrapped in a RuntimeException

#### run

    public void run()

Specified by:
  `run` in interface `java.lang.Runnable`

#### execute

    public Task execute()

Start the thread.

Returns:
  this

#### execute

    public Task execute(java.lang.String threadName)

Start the thread.

Parameters:
  `threadName` - the name of the thread
Returns:
  this

#### get

    public java.lang.Object get()

Calling this method will set the stop flag and wait until the thread is stopped.

Returns:
  the result, or null
Throws:
  `java.lang.RuntimeException` - if an exception in the method call occurs

#### isFinished

    public boolean isFinished()

Whether the call method has returned (with or without exception).

Returns:
  true if yes

#### getException

    public java.lang.Exception getException()

Get the exception that was thrown in the call (if any).

Returns:
  the exception or null

#### join

    public void join()

Stop the thread and wait until it is no longer running. Exceptions are ignored.