Package org.kuali.rice.kcb.deliverer
Interface MessageDeliverer
- All Known Subinterfaces:
BulkMessageDeliverer
- All Known Implementing Classes:
EmailMessageDeliverer,MockMessageDeliverer
public interface MessageDeliverer
This class represents the different types of Notification Delivery Types that the system can handle.
For example, an instance of delivery type could be "ActionList" or "Email". Any deliverer implementation
adhering to this interface can be plugged into the system and will be automatically available for use.
- Author:
- Kuali Rice Team (rice.collab@kuali.org)
-
Method Summary
Modifier and TypeMethodDescriptionvoiddeliver(MessageDelivery messageDelivery) This method is responsible for delivering the passed in messageDelivery record.voiddismiss(MessageDelivery messageDelivery, String user, String cause) This method dismisses/removes the NotificationMessageDelivery so that it is no longer being presented to the user via this deliverer.This method returns the human readable description for this plugin.getName()This method returns the human readable name of the plugin.This method is responsible for returning a list of preference key names along with their corresponding labels that get rendered in the UI.getTitle()This method returns the human readable Title of the plugin.voidvalidatePreferenceValues(HashMap<String, String> prefs) This method is responsible for validating preference values when a person saves their preferences for the particular NotificationMessageDeliverer.
-
Method Details
-
getPreferenceKeys
LinkedHashMap<String,String> getPreferenceKeys()This method is responsible for returning a list of preference key names along with their corresponding labels that get rendered in the UI. For example, if you were creating a NotificationEmailDeliverer class, one of the key preferences that this method would return back would be "email_address" and the label would be "Email Address".- Returns:
- LinkedHashMap
-
validatePreferenceValues
This method is responsible for validating preference values when a person saves their preferences for the particular NotificationMessageDeliverer. For example, if "phoneNumber" is one of the preferences for an SMS deliverer, then this method would be responsible for validating the value entered by a particular user such that it was properly constructed with hyphens or not, etc. Errors would be constructed and added to the ErrorList instance and be thrown from the method if any occurred.- Throws:
ErrorList
-
getName
String getName()This method returns the human readable name of the plugin. This name is the key for this message delivery type. It must be unique and not contain any spaces.- Returns:
- String
-
getTitle
String getTitle()This method returns the human readable Title of the plugin. This name is the string used for identifying the plugin in the UI. It may contain spaces characters.- Returns:
- String
-
getDescription
String getDescription()This method returns the human readable description for this plugin.- Returns:
- String
-
deliver
void deliver(MessageDelivery messageDelivery) throws org.kuali.rice.kcb.api.exception.MessageDeliveryException This method is responsible for delivering the passed in messageDelivery record.- Parameters:
messageDelivery- The messageDelivery to process- Throws:
org.kuali.rice.kcb.api.exception.MessageDeliveryException
-
dismiss
void dismiss(MessageDelivery messageDelivery, String user, String cause) throws org.kuali.rice.kcb.api.exception.MessageDismissalException This method dismisses/removes the NotificationMessageDelivery so that it is no longer being presented to the user via this deliverer. Note, whether this action is meaningful is dependent on the deliverer implementation. If the deliverer cannot control the presentation of the message, then this method need not do anything.- Parameters:
messageDelivery- the messageDelivery to dismissuser- the user that caused the dismissal; in the case of end-user actions, this will most likely be the user to which the message was delivered (user recipient in the NotificationMessageDelivery object)cause- the reason the message was dismissed- Throws:
org.kuali.rice.kcb.api.exception.MessageDismissalException
-