05379d79789ae111acce5927c06cbd2718779a95
[jalview.git] / src / jalview / ws / gui / WsJob.java
1 /**
2  * 
3  */
4 package jalview.ws.gui;
5
6 import jalview.ws.AWsJob;
7
8 /**
9  * Bean that holds state for a job
10  * 
11  * @author jprocter
12  *
13  */
14 public class WsJob extends AWsJob
15 {
16
17   public enum JobState
18   {
19     INVALID, READY, SUBMITTED, QUEUED, RUNNING, FINISHED, BROKEN, FAILED,
20     UNKNOWN, SERVERERROR, CANCELLED;
21   };
22
23   JobState state = JobState.UNKNOWN;
24
25   boolean hasResults = false, validInput = false;
26   /* (non-Javadoc)
27    * @see jalview.ws.AWsJob#hasResults()
28    */
29   @Override
30   public boolean hasResults()
31   {
32     return hasResults;
33   }
34
35   /* (non-Javadoc)
36    * @see jalview.ws.AWsJob#hasValidInput()
37    */
38   @Override
39   public boolean hasValidInput()
40   {
41     return validInput;
42   }
43
44   /* (non-Javadoc)
45    * @see jalview.ws.AWsJob#isRunning()
46    */
47   @Override
48   public boolean isRunning()
49   {
50     return JobState.RUNNING.equals(state);
51   }
52
53   /* (non-Javadoc)
54    * @see jalview.ws.AWsJob#isQueued()
55    */
56   @Override
57   public boolean isQueued()
58   {
59     return JobState.QUEUED.equals(state);
60   }
61
62   /* (non-Javadoc)
63    * @see jalview.ws.AWsJob#isFinished()
64    */
65   @Override
66   public boolean isFinished()
67   {
68     // TODO isSubjobComplete and finished flags mean same thing ?
69     return JobState.FINISHED.equals(state);
70   }
71
72   /* (non-Javadoc)
73    * @see jalview.ws.AWsJob#isFailed()
74    */
75   @Override
76   public boolean isFailed()
77   {
78     return JobState.FAILED.equals(state);
79   }
80
81   /* (non-Javadoc)
82    * @see jalview.ws.AWsJob#isBroken()
83    */
84   @Override
85   public boolean isBroken()
86   {
87     return JobState.BROKEN.equals(state);
88   }
89
90   /* (non-Javadoc)
91    * @see jalview.ws.AWsJob#isServerError()
92    */
93   @Override
94   public boolean isServerError()
95   {
96     return JobState.SERVERERROR.equals(state);
97   }
98
99   /* (non-Javadoc)
100    * @see jalview.ws.AWsJob#hasStatus()
101    */
102   @Override
103   public boolean hasStatus()
104   {
105     return status != null && status.length() > 0;
106   }
107
108   /* (non-Javadoc)
109    * @see jalview.ws.AWsJob#getStatus()
110    */
111   @Override
112   public String getStatus()
113   {
114     return status;
115   }
116
117   /* (non-Javadoc)
118    * @see jalview.ws.AWsJob#hasResponse()
119    */
120   @Override
121   public boolean hasResponse()
122   {
123     // TODO Auto-generated method stub
124     return hasStatus();
125   }
126
127   /* (non-Javadoc)
128    * @see jalview.ws.AWsJob#clearResponse()
129    */
130   @Override
131   public void clearResponse()
132   {
133     status = "";
134   }
135
136   /* (non-Javadoc)
137    * @see jalview.ws.AWsJob#getState()
138    */
139   @Override
140   public String getState()
141   {
142     return state.toString();
143   }
144
145   /**
146    * @return the current JobState
147    */
148   public JobState getJobState()
149   {
150     return state;
151   }
152
153   /**
154    * set the job state
155    * 
156    * @param state
157    */
158   public void setState(JobState state)
159   {
160     this.state = state;
161   }
162
163   String status = "";
164
165   /**
166    * Set the log for this job
167    * 
168    * @parag log
169    */
170   public void setStatus(String log)
171   {
172     status = log;
173
174   }
175
176 }