/********************************************************************************** * $URL: https://source.sakaiproject.org/svn/rwiki/trunk/rwiki-api/api/src/java/uk/ac/cam/caret/sakai/rwiki/service/message/api/TriggerService.java $ * $Id: TriggerService.java 9108 2006-05-08 14:30:57Z ian@caret.cam.ac.uk $ *********************************************************************************** * * Copyright (c) 2003, 2004, 2005, 2006 The Sakai Foundation. * * Licensed under the Educational Community License, Version 1.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.opensource.org/licenses/ecl1.php * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * **********************************************************************************/ package uk.ac.cam.caret.sakai.rwiki.service.message.api; import java.util.List; import uk.ac.cam.caret.sakai.rwiki.service.message.api.model.Trigger; /** * @author ieb */ public interface TriggerService { /** * Fire triggers based on space * * @param space */ void fireSpaceTriggers(String space); /** * Fire Triggers on page * * @param space * @param page */ void firePageTriggers(String space, String page); /** * add a new Trigger * * @param user * @param space * @param page * @param spec */ void addTrigger(String user, String space, String page, String spec); /** * remove a Trigger * * @param trigger */ void removeTrigger(Trigger trigger); /** * Update a Trigger * * @param trigger */ void updateTrigger(Trigger trigger); /** * Get a list of triggers for this user on this page * * @param user * @param space * @param page * @return */ List getUserTriggers(String user, String space, String page); /** * Get a list of triggers for this user in the space * * @param user * @param space * @return */ List getUserTriggers(String user, String space); /** * get all triggers for this user * * @param user * @return */ List getUserTriggers(String user); /** * get all triggers for the page * * @param space * @param page * @return */ List getPageTriggers(String space, String page); /** * Get a list of all triggers for the space * * @param space * @return */ List getSpaceTriggers(String space); }