JAL-3954 Create fallback for handling unknown actions
[jalview.git] / src / jalview / ws2 / actions / api / TaskEventListener.java
index 94de9d0..9dee10c 100644 (file)
@@ -108,4 +108,55 @@ public interface TaskEventListener<T>
    *          new log string
    */
   void subJobErrorLogChanged(TaskI<T> source, JobI job, String log);
+
+  @SuppressWarnings("rawtypes")
+  static final TaskEventListener NULL_LISTENER = new TaskEventListener()
+  {
+    @Override
+    public void taskStarted(TaskI source, List subJobs)
+    {
+    }
+
+    @Override
+    public void taskStatusChanged(TaskI source, JobStatus status)
+    {
+    }
+
+    @Override
+    public void taskCompleted(TaskI source, Object result)
+    {
+    }
+
+    @Override
+    public void taskException(TaskI source, Exception e)
+    {
+    }
+
+    @Override
+    public void taskRestarted(TaskI source)
+    {
+    }
+
+    @Override
+    public void subJobStatusChanged(TaskI source, JobI job,
+            JobStatus status)
+    {
+    }
+
+    @Override
+    public void subJobLogChanged(TaskI source, JobI job, String log)
+    {
+    }
+
+    @Override
+    public void subJobErrorLogChanged(TaskI source, JobI job, String log)
+    {
+    }
+  };
+
+  @SuppressWarnings("unchecked")
+  static <T> TaskEventListener<T> nullListener()
+  {
+    return (TaskEventListener<T>) NULL_LISTENER;
+  }
 }