View Javadoc

1   /**
2    * Copyright 2005-2012 The Kuali Foundation
3    *
4    * Licensed under the Educational Community License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    * http://www.opensource.org/licenses/ecl2.php
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.kuali.rice.ken.bo;
17  
18  import org.hibernate.annotations.GenericGenerator;
19  import org.hibernate.annotations.Parameter;
20  import org.kuali.rice.krad.bo.PersistableBusinessObjectBase;
21  
22  import javax.persistence.*;
23  import java.sql.Timestamp;
24  
25  /**
26   * This class represents and instance of a NotificationMessageDelivery.  A Notification gets delivered to 
27   * recipients, possibly in various ways.  For each delivery type that a recipient gets sent to them, 
28   * they have an instance of this entity.
29   * @author Kuali Rice Team (rice.collab@kuali.org)
30   */
31  @Entity
32  @Table(name="KREN_NTFCTN_MSG_DELIV_T")
33  public class NotificationMessageDelivery extends PersistableBusinessObjectBase implements Lockable {
34      @Id
35      @GeneratedValue(generator="KREN_NTFCTN_MSG_DELIV_S")
36  	@GenericGenerator(name="KREN_NTFCTN_MSG_DELIV_S",strategy="org.hibernate.id.enhanced.SequenceStyleGenerator",parameters={
37  			@Parameter(name="sequence_name",value="KREN_NTFCTN_MSG_DELIV_S"),
38  			@Parameter(name="value_column",value="id")
39  	})
40  	@Column(name="NTFCTN_MSG_DELIV_ID")
41  	private Long id;
42      @Column(name="STAT_CD", nullable=false)
43  	private String messageDeliveryStatus;
44      @Column(name="RECIP_ID", nullable=false)
45  	private String userRecipientId;
46      @Column(name="SYS_ID", nullable=true)
47  	private String deliverySystemId;  // can hold an identifier from the endpoint delivery mechanism system (i.e. workflow id, SMS id, etc)
48  	@Column(name="LOCKD_DTTM", nullable=true)
49  	private Timestamp lockedDateValue;
50  
51      /**
52       * Lock column for OJB optimistic locking
53       */
54  //    @Version
55  //	@Column(name="VER_NBR")
56  //	private Integer lockVerNbr;
57      
58      @OneToOne(fetch=FetchType.EAGER, cascade={CascadeType.REFRESH, CascadeType.DETACH})
59  	@JoinColumn(name="NTFCTN_ID")
60  	private NotificationBo notification;
61  
62      /**
63       * Constructs a NotificationMessageDelivery instance.
64       */
65      public NotificationMessageDelivery() {
66      }
67      
68      /**
69       * Gets the id attribute. 
70       * @return Returns the id.
71       */
72      public Long getId() {
73          return id;
74      }
75  
76      /**
77       * Sets the id attribute value.
78       * @param id The id to set.
79       */
80      public void setId(Long id) {
81          this.id = id;
82      }
83  
84  
85      /**
86       * Return value of lock column for OJB optimistic locking
87       * @return value of lock column for OJB optimistic locking
88       */
89      //public Integer getLockVerNbr() {
90      //    return lockVerNbr;
91      	//return Integer.valueOf(super.getVersionNumber().intValue());
92      //}
93  
94      /**
95       * Set value of lock column for OJB optimistic locking
96       * @param lockVerNbr value of lock column for OJB optimistic locking
97       */
98      //public void setLockVerNbr(Integer lockVerNbr) {
99      //    this.lockVerNbr = lockVerNbr;
100     //	//super.setVersionNumber(lockVerNbr.longValue());
101     //}
102 
103     /**
104      * Gets the messageDeliveryStatus attribute. 
105      * @return Returns the messageDeliveryStatus.
106      */
107     public String getMessageDeliveryStatus() {
108         return messageDeliveryStatus;
109     }
110 
111     /**
112      * Sets the messageDeliveryStatus attribute value.
113      * @param deliveryStatus The messageDeliveryStatus to set.
114      */
115     public void setMessageDeliveryStatus(String deliveryStatus) {
116         this.messageDeliveryStatus = deliveryStatus;
117     }
118 
119     /**
120      * Gets the userRecipientId attribute. 
121      * @return Returns the userRecipientId.
122      */
123     public String getUserRecipientId() {
124         return userRecipientId;
125     }
126 
127     /**
128      * Sets the userRecipientId attribute value.
129      * @param userRecipientId The userRecipientId to set.
130      */
131     public void setUserRecipientId(String userRecipientId) {
132         this.userRecipientId = userRecipientId;
133     }
134 
135     /**
136      * Gets the lockedDate attribute. 
137      * @return Returns the lockedDate.
138      */
139     public Timestamp getLockedDateValue() {
140         return this.lockedDateValue;
141     }
142     
143     /**
144      * Sets the lockedDate attribute value.
145      * @param lockedDateValue The lockedDate to set.
146      */
147     public void setLockedDateValue(Timestamp lockedDateValue) {
148         this.lockedDateValue = lockedDateValue;
149     }
150 
151     /**
152      * Gets the notification attribute. 
153      * @return Returns the notification.
154      */
155     public NotificationBo getNotification() {
156         return notification;
157     }
158 
159     /**
160      * Sets the notification attribute value.
161      * @param notification The notification to set.
162      */
163     public void setNotification(NotificationBo notification) {
164         this.notification = notification;
165     }
166 
167     /**
168      * Gets the deliverySystemId attribute. 
169      * @return Returns the deliverySystemId.
170      */
171     public String getDeliverySystemId() {
172         return deliverySystemId;
173     }
174 
175     /**
176      * Sets the deliverySystemId attribute value.
177      * @param deliverySystemId The deliverySystemId to set.
178      */
179     public void setDeliverySystemId(String deliverySystemId) {
180         this.deliverySystemId = deliverySystemId;
181     }
182 }