OSDN Git Service

タスクマネージャからのイベントを受け取りテーブルモデルを更新
[coroid/inqubus.git] / frontend / src / yukihane / inqubus / model / Target.java
1 package yukihane.inqubus.model;
2
3 import java.util.ArrayList;
4 import java.util.List;
5 import yukihane.inqubus.manager.Request;
6 import yukihane.inqubus.manager.RequestProcess;
7 import yukihane.inqubus.manager.TaskKind;
8 import yukihane.inqubus.manager.TaskStatus;
9
10 public class Target {
11
12     private final RequestProcess requestProcess;
13     private final List<Request> requests = new ArrayList<>(1);
14     private Progress progress;
15
16     public Target(RequestProcess rp) {
17         this.requestProcess = rp;
18         this.requests.add(rp);
19     }
20
21     public void add(Request request) {
22         requests.add(request);
23     }
24
25     public RequestProcess getRequestProcess() {
26         return requestProcess;
27     }
28
29     String getVideoId() {
30         return getRequestProcess().getVideoId();
31     }
32
33     boolean isVideoDownload() {
34         return getRequestProcess().getDownloadProfile().getVideoProfile().isDownload();
35     }
36
37     boolean isCommentDownload() {
38         return getRequestProcess().getDownloadProfile().getCommentProfile().isDownload();
39     }
40
41     boolean isConvert() {
42         return getRequestProcess().getConvertProfile().isConvert();
43     }
44
45     Progress getProgress() {
46         return progress;
47     }
48
49     void setProgress(TaskKind kind, TaskStatus status, double percent, String message) {
50         String text;
51         double p = -1.0;
52         if (status == TaskStatus.READY) {
53             text = status.toString();
54         } else if (status == TaskStatus.DOING || status == TaskStatus.DONE || status == TaskStatus.CANCELLED) {
55             text = kind.toString() + " " + status.toString() + String.format("%.02f", percent) + "%";
56             p = percent;
57         } else {
58             text = message;
59         }
60         progress = new Progress(p, text);
61
62     }
63 }