1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.itracker.model;
20
21 import org.apache.commons.lang.builder.ToStringBuilder;
22 import org.itracker.services.util.IssueUtilities;
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 public class IssueHistory extends AbstractEntity {
38
39
40
41
42 private static final long serialVersionUID = 1L;
43
44 private Issue issue;
45
46 private String description;
47
48 private int status;
49
50
51 private User creator;
52
53
54
55
56
57
58
59
60
61
62 public IssueHistory() {
63 }
64
65 public IssueHistory(Issue issue, User creator) {
66 setIssue(issue);
67 setUser(creator);
68 setStatus(IssueUtilities.HISTORY_STATUS_AVAILABLE);
69 }
70
71 public IssueHistory(Issue issue, User creator, String description,
72 int status) {
73 setIssue(issue);
74 setUser(creator);
75 setDescription(description);
76 setStatus(status);
77 }
78
79 public Issue getIssue() {
80 return issue;
81 }
82
83 public void setIssue(Issue issue) {
84 if (issue == null) {
85 throw new IllegalArgumentException("null issue");
86 }
87 this.issue = issue;
88 }
89
90 public User getUser() {
91 return creator;
92 }
93
94 public void setUser(User creator) {
95 if (creator == null) {
96 throw new IllegalArgumentException("null creator");
97 }
98 this.creator = creator;
99 }
100
101 public int getStatus() {
102 return status;
103 }
104
105 public void setStatus(int status) {
106 this.status = status;
107 }
108
109 public String getDescription() {
110 return description;
111 }
112
113 public void setDescription(String description) {
114 this.description = description;
115 }
116
117
118 @Override
119 public String toString() {
120 return new ToStringBuilder(this).append("id", getId())
121 .append("issue", issue).append("creator", getUser()).append(
122 "createDate", getCreateDate()).toString();
123 }
124
125 public static enum Status {
126
127 STATUS_REMOVED(-1),
128
129 STATUS_AVAILABLE(1);
130
131 @SuppressWarnings("unused")
132 private final int code;
133
134 private Status(int code) {
135 this.code = code;
136 }
137
138 }
139
140 }