/**********************************************************************************
* $URL: https://source.sakaiproject.org/svn/rwiki/trunk/rwiki-api/api/src/java/uk/ac/cam/caret/sakai/rwiki/service/message/api/MessageService.java $
* $Id: MessageService.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;
/**
* @author ieb
*/
public interface MessageService
{
/**
* Updates the session presence record in the wiki
*
* @param session
* @param user
* @param page
* @param space
*/
void updatePresence(String session, String user, String page, String space);
void addMessage(String session, String user, String page, String space,
String message);
/**
* returns a List of the Messages associated with the session
*
* @param session
* @return
*/
List getSessionMessages(String session);
/**
* Returns List of the Messages in the space
*
* @param space
* @return
*/
List getMessagesInSpace(String space);
/**
* Returns List of Messages in the page
*
* @param space
* @param page
* @return
*/
List getMessagesInPage(String space, String page);
/**
* Returns List representation of the users in the space
*
* @param space
* @return
*/
List getUsersInSpace(String space);
/**
* Returns List representation of the users on the page
*
* @param space
* @param page
* @return
*/
List getUsersOnPage(String space, String page);
/**
* @param pageSpace
* @param pageName
* @return
*/
List getUsersInSpaceOnly(String pageSpace, String pageName);
}