OSDN Git Service

f4aad5a60c0e60c15d9e153eaf7e2d1d64b7ed9d
[coroid/inqubus.git] / frontend / src / yukihane / inqubus / model / Target.java
1 package yukihane.inqubus.model;
2
3 import yukihane.inqubus.manager.RequestProcess;
4 import yukihane.inqubus.manager.TaskKind;
5 import yukihane.inqubus.manager.TaskStatus;
6
7 public class Target {
8
9     private final RequestProcess requestProcess;
10     private Progress progress;
11
12     public Target(RequestProcess rp) {
13         this.requestProcess = rp;
14         this.progress = new Progress("待機中");
15     }
16
17     public int getRowId() {
18         return requestProcess.getRowId();
19     }
20
21     String getVideoId() {
22         return getRequestProcess().getVideoId();
23     }
24
25     boolean isVideoDownload() {
26         return getRequestProcess().getDownloadProfile().getVideoProfile().isDownload();
27     }
28
29     boolean isCommentDownload() {
30         return getRequestProcess().getDownloadProfile().getCommentProfile().isDownload();
31     }
32
33     boolean isConvert() {
34         return getRequestProcess().getConvertProfile().isConvert();
35     }
36
37     Progress getProgress() {
38         return progress;
39     }
40
41     void setProgress(TaskKind kind, TaskStatus status, double percent, String message) {
42         String text;
43         double p = -1.0;
44         if (status == TaskStatus.READY) {
45             text = status.toString();
46         } else if (status == TaskStatus.DOING || status == TaskStatus.DONE || status == TaskStatus.CANCELLED) {
47             text = kind.toString() + " " + status.toString() + String.format("%.02f", percent) + "%";
48             p = percent;
49         } else {
50             text = message;
51         }
52         progress = new Progress(p, text);
53     }
54
55     private RequestProcess getRequestProcess() {
56         return requestProcess;
57     }
58 }