| SecurityInfo.java |
1 /*
2 * SecurityInfo.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, 10/Oct/2001
12 *
13 * $Id: SecurityInfo.java,v 1.6 2005/01/11 13:51:36 ian Exp $
14 */
15
16 package gate.security;
17
18 import junit.framework.Assert;
19
20 public class SecurityInfo {
21
22 /** world read/ group write */
23 public static final int ACCESS_WR_GW = 1;
24 /** group read/ group write */
25 public static final int ACCESS_GR_GW = 2;
26 /** group read/ owner write */
27 public static final int ACCESS_GR_OW = 3;
28 /** owner read/ owner write */
29 public static final int ACCESS_OR_OW = 4;
30
31
32 protected Group grp;
33 protected User usr;
34 protected int accessMode;
35
36 public SecurityInfo(int accessMode,User usr,Group grp) {
37
38 //0. preconditions
39 Assert.assertTrue(accessMode == SecurityInfo.ACCESS_GR_GW ||
40 accessMode == SecurityInfo.ACCESS_GR_OW ||
41 accessMode == SecurityInfo.ACCESS_OR_OW ||
42 accessMode == SecurityInfo.ACCESS_WR_GW);
43
44 this.accessMode = accessMode;
45 this.usr = usr;
46 this.grp = grp;
47
48 //don't register as change listener for froups/users
49 //because if an attempt to delete group/user is performed
50 //and they own documents then the attempt will fail
51 }
52
53
54 public Group getGroup() {
55 return this.grp;
56 }
57
58
59 public User getUser() {
60 return this.usr;
61 }
62
63 public int getAccessMode() {
64 return this.accessMode;
65 }
66 }