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