77f348dc6c16168b95a7071dcafcf4a30cd35235
[vid.git] / vid-app-common / src / main / java / org / onap / vid / job / Job.java
1 package org.onap.vid.job;
2
3 import com.fasterxml.jackson.annotation.JsonIgnore;
4
5 import java.util.Map;
6 import java.util.UUID;
7
8 public interface Job {
9
10     UUID getUuid();
11
12     void setUuid(UUID uuid);
13
14     JobStatus getStatus();
15
16     void setStatus(JobStatus status);
17
18     @JsonIgnore
19     Map<String, Object> getData();
20
21     void setTypeAndData(JobType jobType, Map<String, Object> data);
22
23     UUID getTemplateId();
24
25     void setTemplateId(UUID templateId);
26
27     void setIndexInBulk(Integer indexInBulk);
28
29     JobType getType();
30
31     enum JobStatus {
32         COMPLETED(true),
33         FAILED(true),
34         IN_PROGRESS(false),
35         PAUSE(false),
36         PENDING(false),
37         STOPPED(true);
38
39         private final Boolean finalStatus;
40         public Boolean isFinal(){return finalStatus;}
41
42         JobStatus(Boolean finalStatus)
43         {
44             this.finalStatus = finalStatus ;
45         }
46     }
47 }