JAL-3690 Documentation for AlignCalcListener
[jalview.git] / src / jalview / api / AlignCalcListener.java
1 package jalview.api;
2
3 import java.util.EventListener;
4
5 /**
6  * A listener class which receives state updates of {@link AlignCalcWorkerI}.
7  * It can be registered with an {@link AlignCalcManagerI2}.
8  * 
9  * @author mmwarowny
10  *
11  */
12 public interface AlignCalcListener extends EventListener
13 {
14   /**
15    * Called when the worker is scheduler for execution with
16    * {@link AlignCalcManagerI2#startWorker(AlignCalcWorkerI)}.
17    */
18   default void workerQueued(AlignCalcWorkerI worker) {}
19   
20   /**
21    * Called when the worker starts calculations.
22    */
23   default void workerStarted(AlignCalcWorkerI worker) {}
24   
25   /**
26    * Called when the worker finishes successfully.
27    */
28   default void workerCompleted(AlignCalcWorkerI worker) {}
29   
30   /**
31    * Called when the worker is cancelled.
32    */
33   default void workerCancelled(AlignCalcWorkerI worker) {}
34   
35   /**
36    * Called when the worker finishes with an exception.
37    */
38   default void workerExceptional(AlignCalcWorkerI worker, Throwable throwable) {}
39 }