-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathTask.java
84 lines (66 loc) · 1.94 KB
/
Task.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
import java.time.Duration;
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
public class Task {
private int id;
private String name;
private String description;
private Status status;
private Priority priority;
private LocalDate dueDate;
private Duration duration;
private String notes;
private LocalDate completedDate;
private LocalDate lastCompletionDate;
public Task(int id, String name, String description, Status status, Priority priority, LocalDate dueDate, Duration duration, String notes) {
this.id = id;
this.name = name;
this.description = description;
this.status = status;
this.priority = priority;
this.dueDate = dueDate;
this.duration = duration;
this.notes = notes;
this.lastCompletionDate = null;
}
public LocalDate getCompletedDate() {
return completedDate;
}
public void setCompletedDate(LocalDate completedDate) {
this.completedDate = completedDate;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public Duration getDuration() {
return duration;
}
public String getNotes() {
return notes;
}
public String getDescription() {
return description;
}
public Status getStatus() {
return status;
}
public Priority getPriority() {
return priority;
}
public LocalDate getDueDate() {
return dueDate;
}
public int getDaysSinceLastCompletion() {
if (lastCompletionDate == null) {
return Integer.MAX_VALUE;
} else {
return (int) ChronoUnit.DAYS.between(lastCompletionDate, LocalDate.now());
}
}
public void setLastCompletionDate(LocalDate date) {
this.lastCompletionDate = date;
}
}