Package org.jfree.report.util

# Class WorkerPool

java.lang.Object
org.jfree.report.util.WorkerPool

public class WorkerPool extends Object
A simple static workpool. Worker threads are created when necessary.

Author:
  Thomas Morgner

## Constructor Summary

Constructors
Constructor
Description
`WorkerPool()`
Creates a new worker pool with the default size of 10 workers and the default name.
`WorkerPool(int size)`
Creates a new workerpool with the given number of workers and the default name.
`WorkerPool(int size, String namePrefix)`
Creates a new worker pool for the given number of workers and with the given name prefix.

## Method Summary

Modifier and Type
Method
Description
`void`
`finishAll()`
Finishes all worker of this pool.
`WorkerHandle`
`getWorkerForWorkload(Runnable r)`
Returns a workerhandle for the given workload.
`boolean`
`isWorkerAvailable()`
Checks, whether workers are available.
`void`
`workerAvailable(Worker worker)`
Marks the given worker as available.
`void`
`workerFinished(Worker worker)`
Marks the given worker as finished.

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

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

## Constructor Details

### WorkerPool

public WorkerPool()
Creates a new worker pool with the default size of 10 workers and the default name.

### WorkerPool

public WorkerPool(int size)
Creates a new workerpool with the given number of workers and the default name.

Parameters:
  `size` - the maximum number of workers available.

### WorkerPool

public WorkerPool(int size, String namePrefix)
Creates a new worker pool for the given number of workers and with the given name prefix.

Parameters:
  `size` - the size of the worker pool.
  `namePrefix` - the name prefix for all created workers.

## Method Details

### isWorkerAvailable

public boolean isWorkerAvailable()
Checks, whether workers are available.

Returns:
  true, if at least one worker is idle, false otherwise.

### getWorkerForWorkload

public WorkerHandle getWorkerForWorkload(Runnable r)
Returns a workerhandle for the given workload. This method will wait until an idle worker is found.

Parameters:
  `r` - the workload for the worker
Returns:
  a handle to the worker.

### workerFinished

public void workerFinished(Worker worker)
Marks the given worker as finished. The worker will be removed from the list of the available workers.

Parameters:
  `worker` - the worker which was finished.

### workerAvailable

public void workerAvailable(Worker worker)
Marks the given worker as available.

Parameters:
  `worker` - the worker which was available.

### finishAll

public void finishAll()
Finishes all worker of this pool.