01: /**********************************************************************************
02: * $URL: https://source.sakaiproject.org/svn/event/tags/sakai_2-4-1/event-api/api/src/java/org/sakaiproject/event/api/NotificationAction.java $
03: * $Id: NotificationAction.java 7036 2006-03-27 00:31:07Z ggolden@umich.edu $
04: ***********************************************************************************
05: *
06: * Copyright (c) 2003, 2004, 2005, 2006 The Sakai Foundation.
07: *
08: * Licensed under the Educational Community License, Version 1.0 (the "License");
09: * you may not use this file except in compliance with the License.
10: * You may obtain a copy of the License at
11: *
12: * http://www.opensource.org/licenses/ecl1.php
13: *
14: * Unless required by applicable law or agreed to in writing, software
15: * distributed under the License is distributed on an "AS IS" BASIS,
16: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17: * See the License for the specific language governing permissions and
18: * limitations under the License.
19: *
20: **********************************************************************************/package org.sakaiproject.event.api;
21:
22: import org.w3c.dom.Element;
23:
24: /**
25: * <p>
26: * NotificationAction is the helper class that does the notify() for a notification.
27: * </p>
28: */
29: public interface NotificationAction {
30: /**
31: * Set from an xml element.
32: *
33: * @param el
34: * The xml element.
35: */
36: void set(Element el);
37:
38: /**
39: * Set from another.
40: *
41: * @param other
42: * The other to copy.
43: */
44: void set(NotificationAction other);
45:
46: /**
47: * Make a new one like me.
48: *
49: * @return A new action just like me.
50: */
51: NotificationAction getClone();
52:
53: /**
54: * Fill this xml element with the attributes.
55: *
56: * @param el
57: * The xml element.
58: */
59: void toXml(Element el);
60:
61: /**
62: * Do the notification.
63: *
64: * @param notification
65: * The notification responding to the event.
66: * @param event
67: * The event that matched criteria to cause the notification.
68: */
69: void notify(Notification notification, Event event);
70: }
|