JAL-2068 minimised jalview.gui imports, test for removeAnnotation
[jalview.git] / src / jalview / api / AlignCalcManagerI.java
index b502f86..9c7f9ab 100644 (file)
@@ -35,14 +35,6 @@ public interface AlignCalcManagerI
   void notifyStart(AlignCalcWorkerI worker);
 
   /**
-   * check if a calculation of this type is already active
-   * 
-   * @param worker
-   * @return
-   */
-  boolean alreadyDoing(AlignCalcWorkerI worker);
-
-  /**
    * tell manager that worker is now processing data
    * 
    * @param worker
@@ -74,6 +66,14 @@ public interface AlignCalcManagerI
   void enableWorker(AlignCalcWorkerI worker);
 
   /**
+   * Answers true if the worker is disabled from running
+   * 
+   * @param worker
+   * @return
+   */
+  boolean isDisabled(AlignCalcWorkerI worker);
+
+  /**
    * launch a new worker
    * 
    * @param worker
@@ -120,7 +120,7 @@ public interface AlignCalcManagerI
    * 
    * @param workerClass
    */
-  void updateAnnotationFor(Class workerClass);
+  void updateAnnotationFor(Class<? extends AlignCalcWorkerI> workerClass);
 
   /**
    * return any registered workers of the given class
@@ -128,17 +128,8 @@ public interface AlignCalcManagerI
    * @param workerClass
    * @return null or one or more workers of the given class
    */
-  List<AlignCalcWorkerI> getRegisteredWorkersOfClass(Class workerClass);
-
-  /**
-   * start any workers of the given class
-   * 
-   * @param workerClass
-   * @return false if no workers of given class were registered (note -
-   *         blacklisted classes cannot be restarted, so this method will return
-   *         true for blacklisted workers)
-   */
-  boolean startRegisteredWorkersOfClass(Class workerClass);
+  List<AlignCalcWorkerI> getRegisteredWorkersOfClass(
+          Class<? extends AlignCalcWorkerI> workerClass);
 
   /**
    * work out if there is an instance of a worker that is *waiting* to start
@@ -156,12 +147,13 @@ public interface AlignCalcManagerI
    * 
    * @param typeToRemove
    */
-  void removeRegisteredWorkersOfClass(Class typeToRemove);
+  void removeRegisteredWorkersOfClass(
+          Class<? extends AlignCalcWorkerI> typeToRemove);
 
   /**
    * Removes the worker that produces the given annotation, provided it is
    * marked as 'deletable'. Some workers may need to continue to run as the
-   * results of their calculations are needed elsewhere e.g. for colour schemes.
+   * results of their calculations are needed, e.g. for colour schemes.
    * 
    * @param ann
    */