1   /*
2    *  Group.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: Group.java,v 1.8 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 Group {
24  
25    public static final int OBJECT_CHANGE_NAME        = 1001;
26    public static final int OBJECT_CHANGE_ADDUSER     = 1002;
27    public static final int OBJECT_CHANGE_REMOVEUSER  = 1003;
28  
29    /** --- */
30    public Long getID();
31  
32    /** --- */
33    public String getName();
34  
35    /** --- */
36    public List getUsers();
37  
38    /** --- */
39    public void setName(String newName, Session s)
40      throws PersistenceException,SecurityException;
41  
42    /** --- */
43    public void addUser(Long userID, Session s)
44      throws PersistenceException,SecurityException;
45  
46    /** --- */
47    public void addUser(User usr, Session s)
48      throws PersistenceException,SecurityException;
49  
50    /** --- */
51    public void removeUser(Long userID, Session s)
52      throws PersistenceException,SecurityException;
53  
54    /** --- */
55    public void removeUser(User usr, Session s)
56      throws PersistenceException,SecurityException;
57  
58  }
59