1 package org.apache.turbine.om.security;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 import org.apache.turbine.util.security.PermissionSet;
20 import org.apache.turbine.util.security.TurbineSecurityException;
21
22 /***
23 * This class represents a role played by the User associated with the
24 * current Session.
25 *
26 * @author <a href="mailto:frank.kim@clearink.com">Frank Y. Kim</a>
27 * @author <a href="mailto:john.mcnally@clearink.com">John D. McNally</a>
28 * @author <a href="mailto:bmclaugh@algx.net">Brett McLaughlin</a>
29 * @author <a href="mailto:hps@intermeta.de">Henning P. Schmiedehausen</a>
30 * @version $Id: Role.java 264148 2005-08-29 14:21:04Z henning $
31 */
32 public interface Role extends SecurityEntity
33 {
34 /***
35 * Returns the set of Permissions associated with this Role.
36 *
37 * @return A PermissionSet.
38 * @exception Exception A generic exception.
39 */
40 PermissionSet getPermissions()
41 throws Exception;
42
43 /***
44 * Sets the Permissions associated with this Role.
45 *
46 * @param permissionSet A PermissionSet.
47 */
48 void setPermissions(PermissionSet permissionSet);
49
50
51
52 /***
53 * Creates a new Role in the system.
54 *
55 * @param name The name of the new Role.
56 * @return An object representing the new Role.
57 * @throws TurbineSecurityException if the Role could not be created.
58 */
59 Role create(String name)
60 throws TurbineSecurityException;
61
62 /***
63 * Makes changes made to the Role attributes permanent.
64 *
65 * @throws TurbineSecurityException if there is a problem while
66 * saving data.
67 */
68 void save()
69 throws TurbineSecurityException;
70
71 /***
72 * Removes a role from the system.
73 *
74 * @throws TurbineSecurityException if the Role could not be removed.
75 */
76 void remove()
77 throws TurbineSecurityException;
78
79 /***
80 * Renames the role.
81 *
82 * @param name The new Role name.
83 * @throws TurbineSecurityException if the Role could not be renamed.
84 */
85 void rename(String name)
86 throws TurbineSecurityException;
87
88 /***
89 * Grants a Permission to this Role.
90 *
91 * @param permission A Permission.
92 * @throws TurbineSecurityException if there is a problem while assigning
93 * the Permission.
94 */
95 void grant(Permission permission)
96 throws TurbineSecurityException;
97
98 /***
99 * Grants Permissions from a PermissionSet to this Role.
100 *
101 * @param permissionSet A PermissionSet.
102 * @throws TurbineSecurityException if there is a problem while assigning
103 * the Permissions.
104 */
105 void grant(PermissionSet permissionSet)
106 throws TurbineSecurityException;
107
108 /***
109 * Revokes a Permission from this Role.
110 *
111 * @param permission A Permission.
112 * @throws TurbineSecurityException if there is a problem while unassigning
113 * the Permission.
114 */
115 void revoke(Permission permission)
116 throws TurbineSecurityException;
117
118 /***
119 * Revokes Permissions from a PermissionSet from this Role.
120 *
121 * @param permissionSet A PermissionSet.
122 * @throws TurbineSecurityException if there is a problem while unassigning
123 * the Permissions.
124 */
125 void revoke(PermissionSet permissionSet)
126 throws TurbineSecurityException;
127 }