X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fapi%2FAlignCalcManagerI.java;h=18605b88bd27f5dadd5c6f871c9f2adaac2878df;hb=844771e8d414ade0eaf68cdb16bd4cdd98ae87c1;hp=b502f862d1878c056cb34ee2a1c5b2a2546e6f1d;hpb=25551bf7f81cd62e7b427f5787f2879eab2afed7;p=jalview.git diff --git a/src/jalview/api/AlignCalcManagerI.java b/src/jalview/api/AlignCalcManagerI.java index b502f86..18605b8 100644 --- a/src/jalview/api/AlignCalcManagerI.java +++ b/src/jalview/api/AlignCalcManagerI.java @@ -35,17 +35,12 @@ 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 + * tell manager that a thread running worker's run() loop is ready to start + * processing data * * @param worker + * @return true if worker should start processing, false if another thread is + * in progress */ boolean notifyWorking(AlignCalcWorkerI worker); @@ -74,6 +69,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 @@ -83,7 +86,7 @@ public interface AlignCalcManagerI /** * * @param worker - * @return + * @return true if the worker is currently running */ boolean isWorking(AlignCalcWorkerI worker); @@ -120,7 +123,7 @@ public interface AlignCalcManagerI * * @param workerClass */ - void updateAnnotationFor(Class workerClass); + void updateAnnotationFor(Class workerClass); /** * return any registered workers of the given class @@ -128,17 +131,8 @@ public interface AlignCalcManagerI * @param workerClass * @return null or one or more workers of the given class */ - List 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 getRegisteredWorkersOfClass( + Class workerClass); /** * work out if there is an instance of a worker that is *waiting* to start @@ -156,12 +150,13 @@ public interface AlignCalcManagerI * * @param typeToRemove */ - void removeRegisteredWorkersOfClass(Class typeToRemove); + void removeRegisteredWorkersOfClass( + Class 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 */