| 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