Class Worker

java.lang.Object
java.lang.Thread
org.jfree.report.util.Worker
All Implemented Interfaces:
Runnable

public final class Worker extends Thread
A simple worker implementation. The worker executes a assigned workload and then sleeps until another workload is set or the worker is killed.
Author:
Thomas Morgner
  • Constructor Details

    • Worker

      public Worker()
      Creates a new worker.
  • Method Details

    • setWorkload

      public void setWorkload(Runnable r)
      Set the next workload for this worker.
      Parameters:
      r - the next workload for the worker.
      Throws:
      IllegalStateException - if the worker is not idle.
    • getWorkload

      public Runnable getWorkload()
      Returns the workload object.
      Returns:
      the runnable executed by this worker thread.
    • finish

      public void finish()
      Kills the worker after he completed his work. Awakens the worker if he's sleeping, so that the worker dies without delay.
    • isAvailable

      public boolean isAvailable()
      Checks, whether this worker has some work to do.
      Returns:
      true, if this worker has no more work and is currently sleeping.
    • run

      public void run()
      If a workload is set, process it. After the workload is processed, this worker starts to sleep until a new workload is set for the worker or the worker got the finish() request.
      Specified by:
      run in interface Runnable
      Overrides:
      run in class Thread
    • isFinish

      public boolean isFinish()
      Checks whether this worker has received the signal to finish and die.
      Returns:
      true, if the worker should finish the work and end the thread.
    • getWorkerPool

      public WorkerPool getWorkerPool()
      Returns the worker's assigned pool.
      Returns:
      the worker pool (or null, if the worker is not assigned to a pool).
    • setWorkerPool

      public void setWorkerPool(WorkerPool workerPool)
      Defines the worker's assigned pool.
      Parameters:
      workerPool - the worker pool (or null, if the worker is not assigned to a pool).