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 }