User.java |
1 /* 2 * User.java 3 * 4 * Copyright (c) 1998-2005, The University of Sheffield. 5 * 6 * This file is part of GATE (see http://gate.ac.uk/), and is free 7 * software, licenced under the GNU Library General Public License, 8 * Version 2, June 1991 (in the distribution as file licence.html, 9 * and also available at http://gate.ac.uk/gate/licence.html). 10 * 11 * Marin Dimitrov, 19/Sep/2001 12 * 13 * $Id: User.java,v 1.9 2005/01/11 13:51:36 ian Exp $ 14 */ 15 16 package gate.security; 17 18 import java.util.List; 19 20 import gate.persist.PersistenceException; 21 22 23 public interface User { 24 25 /** subtype for ObjectModificationEvent of type OBJECT_MODIFIED 26 * @see gate.event.ObjectModificationEvent 27 * the event is sent when the name of the user is changed 28 * */ 29 public static final int OBJECT_CHANGE_NAME = 1001; 30 31 32 /** returns the ID of the user 33 * user IDs are uniques in the same 34 * data store 35 * */ 36 public Long getID(); 37 38 /** returns the name of the user 39 * user names are unique in the 40 * same data store */ 41 public String getName(); 42 43 /** returns a list with the groups that the 44 * user is member of */ 45 public List getGroups(); 46 47 /** changes user name 48 * Only members of the ADMIN group have sufficient privileges. 49 * fires ObjectModificationEvent */ 50 public void setName(String newName, Session s) 51 throws PersistenceException,SecurityException; 52 53 /** changes user password 54 * Only members of the ADMIN group and the user himself 55 * have sufficient privileges */ 56 public void setPassword(String newPass, Session s) 57 throws PersistenceException,SecurityException; 58 } 59