JAL-3878 Create base interfaces for new web services.
[jalview.git] / src / jalview / ws2 / utils / WSJobList.java
1 package jalview.ws2.utils;
2
3 import java.util.ArrayList;
4
5 import jalview.ws2.WSJob;
6
7 public class WSJobList extends ArrayList<WSJob>
8 {
9   private static final long serialVersionUID = -1684855135603987602L;
10
11   public int countSubmitted() {
12     int count = 0;
13     for (WSJob job : this) {
14       if (job.getStatus().isSubmitted()) {
15         count++;
16       }
17     }
18     return count;
19   }
20
21   public int countQueuing() {
22     int count = 0;
23     for (WSJob job : this) {
24       if (job.getStatus().isQueuing()) count++;
25     }
26     return count;
27   }
28
29   public int countRunning() {
30     int count = 0;
31     for (WSJob job : this) {
32       if (job.getStatus().isRunning()) count++;
33     }
34     return count;
35   }
36
37   public int countDone() {
38     int count = 0;
39     for (WSJob job : this) {
40       if (job.getStatus().isDone()) count++;
41     }
42     return count;
43   }
44
45   public int countFailed() {
46     int count = 0;
47     for (WSJob job : this) {
48       if (job.getStatus().isFailed()) count++;
49     }
50     return count;
51   }
52
53   public int countSuccessful() {
54     return countDone() - countFailed() - countCancelled();
55   }
56
57   public int countCancelled() {
58     int count = 0;
59     for (WSJob job : this) {
60       if (job.getStatus().isCancelled()) count++;
61     }
62     return count;
63   }
64 }