-
Notifications
You must be signed in to change notification settings - Fork 0
/
ToDoItem.java
87 lines (77 loc) · 1.72 KB
/
ToDoItem.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
85
86
87
/**
* Builds a to-do item
* @author Nhien (Ricky) Lam
*
*/
public class ToDoItem implements Comparable
{
private String description;
private int priority;
/**
* Constructs a to-do item with description and priority
* @param description
* @param priority
*/
public ToDoItem(String description, int priority)
{
this.description = description;
this.priority = priority;
}
/**
* Gets the description
* @return the description
*/
public String getDescription()
{
return description;
}
/**
* Gets the priority
* @return the priority
*/
public int priority()
{
return priority;
}
/**
* Checks if 2 to-do items have the same priority and description
* @return true if 2 items have the same priority and description, false otherwise
*/
public boolean equals(Object otherObject)
{
if (otherObject == null)
{
return false;
}
if (this.getClass() != otherObject.getClass())
{
return false;
}
ToDoItem other = (ToDoItem)otherObject;
return (this.priority == other.priority && this.description.equals(other.description));
}
/**
* Compares the to-do item by priority and description
* @return the difference of the 2 items
*/
public int compareTo(Object otherObject)
{
ToDoItem other = (ToDoItem) otherObject;
if(this.priority != other.priority)
{
return Double.compare(this.priority, other.priority);
}
else
{
return this.description.compareTo(other.description);
}
}
/**
* Gets a String representation of the ToDoItem
* @return the a String representation of the ToDoItem
*/
public String toString()
{
return priority + " : " + description;
}
}