View Javadoc

1   /*
2    * Copyright (c) 2005 Regents of the University of California (Regents). Created
3    * by TELS, Graduate School of Education, University of California at Berkeley.
4    *
5    * This software is distributed under the GNU Lesser General Public License, v2.
6    *
7    * Permission is hereby granted, without written agreement and without license
8    * or royalty fees, to use, copy, modify, and distribute this software and its
9    * documentation for any purpose, provided that the above copyright notice and
10   * the following two paragraphs appear in all copies of this software.
11   *
12   * REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
13   * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
14   * PURPOSE. THE SOFTWAREAND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED
15   * HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE
16   * MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
17   *
18   * IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
19   * SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
20   * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
21   * REGENTS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
22   */
23  package net.sf.sail.core.beans.service;
24  
25  import java.util.Collection;
26  
27  import net.sf.sail.core.beans.event.SessionEventListener;
28  import net.sf.sail.core.entity.User;
29  import net.sf.sail.core.uuid.SessionUuid;
30  
31  /**
32   * Service for learning content to command and query the whole learning session.
33   * 
34   * @author turadg
35   * 
36   */
37  public interface SessionService {
38  
39  	public void userRequestsTermination();
40  
41  	public void addSessionEventListener(SessionEventListener sel);
42  
43  	/**
44  	 * Who is at the computer right now
45  	 */
46  	public Collection<User> getUsers();
47  
48  	public void addUser(User user);
49  
50  	public void removeUser(User user);
51  
52  	public SessionUuid getSessionId();
53  
54  	/**
55  	 * Return a session property.
56  	 * 
57  	 * @param key
58  	 *            name of session property
59  	 * @param def
60  	 *            a default value
61  	 * @return
62  	 */
63  	public String getProperty(String key, String def);
64  }