001/** 002 * Copyright 2005-2016 The Kuali Foundation 003 * 004 * Licensed under the Educational Community License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/ecl2.php 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016package org.kuali.rice.ken.core; 017 018import org.kuali.rice.ken.api.service.KENAPIService; 019import org.kuali.rice.ken.service.NotificationAuthorizationService; 020import org.kuali.rice.ken.service.NotificationChannelService; 021import org.kuali.rice.ken.service.NotificationContentTypeService; 022import org.kuali.rice.ken.service.NotificationMessageContentService; 023import org.kuali.rice.ken.service.NotificationMessageDeliveryAutoRemovalService; 024import org.kuali.rice.ken.service.NotificationMessageDeliveryResolverService; 025import org.kuali.rice.ken.service.NotificationMessageDeliveryService; 026import org.kuali.rice.ken.service.NotificationRecipientService; 027import org.kuali.rice.ken.service.NotificationService; 028import org.kuali.rice.ken.service.NotificationWorkflowDocumentService; 029import org.kuali.rice.ken.service.UserPreferenceService; 030import org.quartz.Scheduler; 031 032/** 033 * Interface for obtaining Notification System services 034 * @author Kuali Rice Team (rice.collab@kuali.org) 035 */ 036public interface NotificationServiceLocator { 037 /** 038 * This method returns an instance of the Spring configured impl for the KENAPIService. 039 * @return KENAPIService 040 */ 041 public KENAPIService getKENAPIService(); 042 043 /** 044 * This method returns an instance of the Spring configured impl for the NotificationService. 045 * @return NotificationService 046 */ 047 public NotificationService getNotificationService(); 048 049 /** 050 * This method returns an instance of the Spring configured impl for the NotificationContentTypeService. 051 * @return NotificationContentTypeService 052 */ 053 public NotificationContentTypeService getNotificationContentTypeService(); 054 055 /** 056 * This method returns an instance of the Spring configured impl for the NotificationMessageContentService. 057 * @return NotificationMessageContentService 058 */ 059 public NotificationMessageContentService getNotificationMessageContentService(); 060 061 /** 062 * This method returns an instance of the Spring configured impl for the NotificationAuthorizationService. 063 * @return NotificationAuthorizationService 064 */ 065 public NotificationAuthorizationService getNotificationAuthorizationService(); 066 067 /** 068 * This method returns an instance of the Spring configured impl for the NotificationWorkflowDocumentService. 069 * @return NotificationWorkflowDocumentService 070 */ 071 public NotificationWorkflowDocumentService getNotificationWorkflowDocumentService(); 072 073 /** 074 * This method returns an instance of the Spring configured impl for the NotificationMessageDeliveryAutoRemovalService. 075 * @return NotificationMessageDeliveryAutoRemovalService 076 */ 077 public NotificationMessageDeliveryAutoRemovalService getNotificationMessageDeliveryAutoRemovalService(); 078 079 /** 080 * This method returns an instance of the Spring configured impl for the getNotificationMessageDeliveryResolverService. 081 * @return NotificationMessageDeliveryResolverService 082 */ 083 public NotificationMessageDeliveryResolverService getNotificationMessageDeliveryResolverService(); 084 085 /** 086 * This method returns an instance of the Spring configured impl for the NotificationRecipientService. 087 * @return NotificationRecipientService 088 */ 089 public NotificationRecipientService getNotificationRecipientService(); 090 091 /** 092 * This method returns an instance of the Spring configured impl for the NotificationMessageDeliveryService. 093 * @return NotificationMessageDeliveryService 094 */ 095 public NotificationMessageDeliveryService getNotificationMessageDeliveryService(); 096 097 /** 098 * This method returns an instance of the Spring configured impl for the UserPreferenceService. 099 * @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}