View Javadoc
1   /**
2    * Copyright 2005-2015 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.core;
17  
18  import org.kuali.rice.ken.api.service.KENAPIService;
19  import org.kuali.rice.ken.service.NotificationAuthorizationService;
20  import org.kuali.rice.ken.service.NotificationChannelService;
21  import org.kuali.rice.ken.service.NotificationContentTypeService;
22  import org.kuali.rice.ken.service.NotificationMessageContentService;
23  import org.kuali.rice.ken.service.NotificationMessageDeliveryAutoRemovalService;
24  import org.kuali.rice.ken.service.NotificationMessageDeliveryResolverService;
25  import org.kuali.rice.ken.service.NotificationMessageDeliveryService;
26  import org.kuali.rice.ken.service.NotificationRecipientService;
27  import org.kuali.rice.ken.service.NotificationService;
28  import org.kuali.rice.ken.service.NotificationWorkflowDocumentService;
29  import org.kuali.rice.ken.service.UserPreferenceService;
30  import org.quartz.Scheduler;
31  
32  /**
33   * Interface for obtaining Notification System services
34   * @author Kuali Rice Team (rice.collab@kuali.org)
35   */
36  public interface NotificationServiceLocator {
37      /**
38       * This method returns an instance of the Spring configured impl for the KENAPIService.
39       * @return KENAPIService
40       */
41      public KENAPIService getKENAPIService();
42  
43      /**
44       * This method returns an instance of the Spring configured impl for the NotificationService.
45       * @return NotificationService
46       */
47      public NotificationService getNotificationService();
48  
49      /**
50       * This method returns an instance of the Spring configured impl for the NotificationContentTypeService.
51       * @return NotificationContentTypeService
52       */
53      public NotificationContentTypeService getNotificationContentTypeService();
54  
55      /**
56       * This method returns an instance of the Spring configured impl for the NotificationMessageContentService.
57       * @return NotificationMessageContentService
58       */
59      public NotificationMessageContentService getNotificationMessageContentService();
60  
61      /**
62       * This method returns an instance of the Spring configured impl for the NotificationAuthorizationService.
63       * @return NotificationAuthorizationService
64       */
65      public NotificationAuthorizationService getNotificationAuthorizationService();
66      
67      /**
68       * This method returns an instance of the Spring configured impl for the NotificationWorkflowDocumentService.
69       * @return NotificationWorkflowDocumentService
70       */
71      public NotificationWorkflowDocumentService getNotificationWorkflowDocumentService();
72      
73      /**
74       * This method returns an instance of the Spring configured impl for the NotificationMessageDeliveryAutoRemovalService.
75       * @return NotificationMessageDeliveryAutoRemovalService
76       */
77      public NotificationMessageDeliveryAutoRemovalService getNotificationMessageDeliveryAutoRemovalService();
78  
79      /**
80       * This method returns an instance of the Spring configured impl for the getNotificationMessageDeliveryResolverService.
81       * @return NotificationMessageDeliveryResolverService
82       */
83      public NotificationMessageDeliveryResolverService getNotificationMessageDeliveryResolverService();
84      
85      /**
86       * This method returns an instance of the Spring configured impl for the NotificationRecipientService.
87       * @return NotificationRecipientService
88       */
89      public NotificationRecipientService getNotificationRecipientService();
90      
91      /**
92       * This method returns an instance of the Spring configured impl for the NotificationMessageDeliveryService.
93       * @return NotificationMessageDeliveryService
94       */
95      public NotificationMessageDeliveryService getNotificationMessageDeliveryService();
96      
97      /**
98       * This method returns an instance of the Spring configured impl for the UserPreferenceService.
99       * @return UserPreferenceService
100      */
101     public UserPreferenceService getUserPreferenceService();
102     
103     /**
104      * This method returns an instance of the Spring configured impl for the NotificationChannelService.
105      * @return NotificationChannelService
106      */
107     public NotificationChannelService getNotificationChannelService();
108     
109     /**
110      * Returns the Quartz scheduler used by the Notification system
111      * @return the Quartz scheduler used by the Notification system
112      */
113     public Scheduler getScheduler();
114 }