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.entity;
24  
25  import net.sf.sail.core.uuid.AgentUuid;
26  import net.sf.sail.core.uuid.UserUuid;
27  
28  /**
29   * An Agent in SAIL is the entity to which a SockEntry (work record) is
30   * associated. An Agent can be, for example, one individual or the whole class.
31   * 
32   * @author turadg
33   * AUDIT07-
34   */
35  public interface IAgent {
36  
37  	public Role getRole();
38  
39  	public void addUser(UserUuid user) throws RoleRuleException;
40  
41  	public void removeUser(UserUuid user) throws RoleRuleException;
42  
43  	public UserUuid [] getUserArray();
44  	
45  	public String toString();
46  
47  	/**
48  	 * This is a uuid for the agent.  It is currently only used to map annotations
49  	 * to particular agents.  
50  	 * 
51  	 * @return
52  	 */
53  	public AgentUuid getAgentId();
54  }