Introduced new AlignCalcWorker/manager interface.
[jalview.git] / src / jalview / workers / AlignCalcWorker.java
1 /**
2  * 
3  */
4 package jalview.workers;
5
6 import jalview.api.AlignCalcManagerI;
7 import jalview.api.AlignCalcWorkerI;
8 import jalview.api.AlignViewportI;
9 import jalview.api.AlignmentViewPanel;
10
11 /**
12  * Base class for alignment calculation workers 
13  * @author jimp
14  *
15  */
16 public abstract class AlignCalcWorker implements AlignCalcWorkerI
17 {
18   /**
19    * manager and data source for calculations
20    */
21   protected AlignViewportI alignViewport;
22   protected AlignCalcManagerI calcMan;
23   protected AlignmentViewPanel ap;
24
25   public AlignCalcWorker(AlignViewportI alignViewport,
26           AlignmentViewPanel alignPanel)
27   {
28     this.alignViewport = alignViewport;
29     calcMan=alignViewport.getCalcManager();
30     ap = alignPanel;    
31   }
32   protected void abortAndDestroy()
33   {
34     if (calcMan!=null) {
35       calcMan.workerComplete(this);
36     }
37     alignViewport=null;
38     calcMan=null;
39     ap=null;
40     
41   }
42
43
44 }