JAL-4199 Set all setup methods to alwaysRun
[jalview.git] / src / jalview / ws2 / helpers / TaskEventSupport.java
1 package jalview.ws2.helpers;
2
3 import java.util.List;
4
5 import jalview.ws2.actions.api.JobI;
6 import jalview.ws2.actions.api.TaskEventListener;
7 import jalview.ws2.actions.api.TaskI;
8 import jalview.ws2.api.JobStatus;
9
10 public class TaskEventSupport<T>
11 {
12   TaskI<T> source;
13   TaskEventListener<T> handler;
14   
15   public TaskEventSupport(TaskI<T> source, TaskEventListener<T> handler)
16   {
17     this.source = source;
18     this.handler = handler;
19   }
20   
21   public void fireTaskStarted(List<? extends JobI> subJobs)
22   {
23     handler.taskStarted(source, subJobs);
24   }
25   
26   public void fireTaskStatusChanged(JobStatus status)
27   {
28     handler.taskStatusChanged(source, status);
29   }
30   
31   public void fireTaskCompleted(T result)
32   {
33     handler.taskCompleted(source, result);
34   }
35   
36   public void fireTaskException(Exception e)
37   {
38     handler.taskException(source, e);
39   }
40   
41   public void fireTaskRestarted()
42   {
43     handler.taskRestarted(source);
44   }
45   
46   public void fireSubJobStatusChanged(JobI job, JobStatus status)
47   {
48     handler.subJobStatusChanged(source, job, status);
49   }
50   
51   public void fireSubJobLogChanged(JobI job, String log)
52   {
53     handler.subJobLogChanged(source, job, log);
54   }
55   
56   public void fireSubJobErrorLogChanged(JobI job, String log)
57   {
58     handler.subJobErrorLogChanged(source, job, log);
59   }
60 }