X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fapi%2FAlignCalcWorkerI.java;h=b51b94ec098203f2845b125d736e25eb129b08c8;hb=772f645f8a2cb3c5d25eab36d875f2e09ceca48f;hp=85157c466c31e11b66eeea25b8aced2bccb066c8;hpb=25551bf7f81cd62e7b427f5787f2879eab2afed7;p=jalview.git diff --git a/src/jalview/api/AlignCalcWorkerI.java b/src/jalview/api/AlignCalcWorkerI.java index 85157c4..b51b94e 100644 --- a/src/jalview/api/AlignCalcWorkerI.java +++ b/src/jalview/api/AlignCalcWorkerI.java @@ -20,13 +20,15 @@ */ package jalview.api; +import java.util.concurrent.Callable; + import jalview.datamodel.AlignmentAnnotation; /** * Interface describing a worker that calculates alignment annotation(s). The * main (re-)calculation should be performed by the inherited run() method. */ -public interface AlignCalcWorkerI extends Runnable +public interface AlignCalcWorkerI { /** * Answers true if this worker updates the given annotation (regardless of its @@ -39,8 +41,8 @@ public interface AlignCalcWorkerI extends Runnable /** * Updates the display of calculated annotation values (does not recalculate - * the values). This allows ßquick redraw of annotations when display settings - * are changed. + * the values). This allows a quick redraw of annotations when display + * settings are changed. */ void updateAnnotation(); @@ -48,7 +50,13 @@ public interface AlignCalcWorkerI extends Runnable * Removes any annotation(s) managed by this worker from the alignment */ void removeAnnotation(); - + + /** + * The main calculation happens here + * @throws Throwable + */ + public void run() throws Throwable; + /** * Answers true if the worker should be deleted entirely when its annotation * is deleted from the display, or false if it should continue to run. Some