1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.rice.ken.bo;
17
18 import java.util.ArrayList;
19 import java.util.List;
20
21 import javax.persistence.CascadeType;
22 import javax.persistence.Column;
23 import javax.persistence.Entity;
24 import javax.persistence.FetchType;
25 import javax.persistence.Id;
26 import javax.persistence.JoinColumn;
27 import javax.persistence.JoinTable;
28 import javax.persistence.ManyToMany;
29 import javax.persistence.OneToMany;
30 import javax.persistence.Table;
31 import javax.persistence.Transient;
32
33
34
35
36
37
38
39
40 @Entity
41 @Table(name = "KREN_CHNL_T")
42 public class NotificationChannel {
43 @Id
44 @Column(name = "CHNL_ID")
45 private Long id;
46 @Column(name = "NM", nullable = false)
47 private String name;
48 @Column(name = "DESC_TXT", nullable = false)
49 private String description;
50 @Column(name = "SUBSCRB_IND", nullable = false)
51 private boolean subscribable;
52
53
54 @OneToMany(cascade = {CascadeType.PERSIST, CascadeType.REMOVE, CascadeType.MERGE}, targetEntity = org.kuali.rice.ken.bo.NotificationRecipientList.class, mappedBy = "channel")
55 private List<NotificationRecipientList> recipientLists;
56 @ManyToMany(fetch = FetchType.EAGER, cascade = {CascadeType.PERSIST, CascadeType.MERGE})
57 @JoinTable(name = "NOTIFICATION_CHANNEL_PRODUCERS", joinColumns = @JoinColumn(name = "CHNL_ID"), inverseJoinColumns = @JoinColumn(name = "PRODCR_ID"))
58 private List<NotificationProducer> producers;
59 @Transient
60 private List<NotificationChannelReviewer> reviewers = new ArrayList<NotificationChannelReviewer>();
61 @Transient
62 private List<UserChannelSubscription> subscriptions = new ArrayList<UserChannelSubscription>();
63
64
65
66
67 public NotificationChannel() {
68 super();
69 recipientLists = new ArrayList<NotificationRecipientList>();
70 producers = new ArrayList<NotificationProducer>();
71 }
72
73
74
75
76
77
78 public List<NotificationRecipientList> getRecipientLists() {
79 return recipientLists;
80 }
81
82
83
84
85
86
87
88 public void setRecipientLists(List<NotificationRecipientList> recipientLists) {
89 this.recipientLists = recipientLists;
90 }
91
92
93
94
95
96
97 public void addRecipientList(NotificationRecipientList recipientList) {
98 this.recipientLists.add(recipientList);
99 }
100
101
102
103
104
105
106 public void removeRecipientList(NotificationRecipientList recipientList) {
107 this.recipientLists.remove(recipientList);
108 }
109
110
111
112
113
114
115 public String getDescription() {
116 return description;
117 }
118
119
120
121
122
123
124
125 public void setDescription(String description) {
126 this.description = description;
127 }
128
129
130
131
132
133
134 public Long getId() {
135 return id;
136 }
137
138
139
140
141
142
143
144 public void setId(Long id) {
145 this.id = id;
146 }
147
148
149
150
151
152
153 public String getName() {
154 return name;
155 }
156
157
158
159
160
161
162
163 public void setName(String name) {
164 this.name = name;
165 }
166
167
168
169
170
171
172 public boolean isSubscribable() {
173 return subscribable;
174 }
175
176
177
178
179
180
181
182 public void setSubscribable(boolean subscribable) {
183 this.subscribable = subscribable;
184 }
185
186
187
188
189
190
191 public List<NotificationProducer> getProducers() {
192 return producers;
193 }
194
195
196
197
198
199
200
201 public void setProducers(List<NotificationProducer> producers) {
202 this.producers = producers;
203 }
204
205
206
207
208
209
210 public List<NotificationChannelReviewer> getReviewers() {
211 return reviewers;
212 }
213
214
215
216
217
218
219
220 public void setReviewers(List<NotificationChannelReviewer> reviewers) {
221 this.reviewers = reviewers;
222 }
223
224
225
226
227
228
229 public List<UserChannelSubscription> getSubscriptions() {
230 return subscriptions;
231 }
232
233
234
235
236
237
238
239 public void setSubscriptions(List<UserChannelSubscription> subscriptions) {
240 this.subscriptions = subscriptions;
241 }
242
243
244
245
246
247
248 @Override
249 public boolean equals(Object obj) {
250 NotificationChannel channelToCompare = (NotificationChannel) obj;
251 return this.getId().equals(channelToCompare.getId());
252 }
253
254 }