View Javadoc
1   /**
2    * Copyright 2005-2016 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.api.notification;
17  
18  import org.joda.time.DateTime;
19  import org.kuali.rice.core.api.mo.common.GloballyUnique;
20  import org.kuali.rice.core.api.mo.common.Versioned;
21  import org.kuali.rice.ken.api.common.KenIdentifiable;
22  
23  import java.util.List;
24  
25  public interface NotificationContract extends KenIdentifiable, Versioned, GloballyUnique {
26  
27      /**
28       * This is the namespace code for the Group.
29       *
30       * <p>
31       * This is a namespace code assigned to a Group.  Together with name, it makes up another unique identifier for Group
32       * </p>
33       *
34       * @return namespaceCode
35       */
36      DateTime getCreationDateTime();
37  
38      List<? extends NotificationRecipientContract> getRecipients();
39  
40      List<? extends NotificationSenderContract> getSenders();
41  
42      DateTime getAutoRemoveDateTime();
43  
44      NotificationChannelContract getChannel();
45  
46      String getContent();
47  
48      NotificationContentTypeContract getContentType();
49  
50      String getDeliveryType();
51  
52      NotificationPriorityContract getPriority();
53  
54      NotificationProducerContract getProducer();
55      
56      DateTime getSendDateTime();
57  
58      String getProcessingFlag();
59  
60      DateTime getLockedDate();
61  
62      String getTitle();
63  
64      String getContentMessage();
65  
66      /**
67       * Gets the custom document type name
68       *
69       * <p>
70       * If null, the system will use the default {@code KualiNotification} document type when routing the notification
71       * </p>
72       *
73       * @return the custom document type name for this Notification, or null if undefined
74       * @since 2.3.1
75       */
76      String getDocTypeName();
77  }