01: /* Copyright 2001 The JA-SIG Collaborative. All rights reserved.
02: * See license distributed with this file and
03: * available online at http://www.uportal.org/license.html
04: */
05:
06: package org.jasig.portal.channels.groupsmanager;
07:
08: import org.jasig.portal.groups.IGroupMember;
09: import org.jasig.portal.security.IAuthorizationPrincipal;
10:
11: /**
12: * IGroupsManagerPermissions allows servants to be created using pluggable
13: * permissions policies to reflect the needs of the master channel.
14: * @author Don Fracapane
15: * @version $Revision: 34756 $
16: */
17:
18: public interface IGroupsManagerPermissions {
19:
20: /**
21: * Answers if the principal is able to assign permissions on the group member.
22: * @param ap IAuthorizationPrincipal
23: * @param gm IGroupMember
24: * @return boolean
25: */
26: public boolean canAssignPermissions(IAuthorizationPrincipal ap,
27: IGroupMember gm);
28:
29: /**
30: * Answers if the principal is able to create a subgroup under the group member.
31: * @param ap IAuthorizationPrincipal
32: * @param gm IGroupMember
33: * @return boolean
34: */
35: public boolean canCreateGroup(IAuthorizationPrincipal ap,
36: IGroupMember gm);
37:
38: /**
39: * Answers if the principal is able to manage the group member.
40: * @param ap IAuthorizationPrincipal
41: * @param gm IGroupMember
42: * @return boolean
43: */
44: public boolean canManageMembers(IAuthorizationPrincipal ap,
45: IGroupMember gm);
46:
47: /**
48: * Answers if the principal is able to delete the group member.
49: * @param ap IAuthorizationPrincipal
50: * @param gm IGroupMember
51: * @return boolean
52: */
53: public boolean canDelete(IAuthorizationPrincipal ap, IGroupMember gm);
54:
55: /**
56: * Answers if the principal is able to select the group member.
57: * @param ap IAuthorizationPrincipal
58: * @param gm IGroupMember
59: * @return boolean
60: */
61: public boolean canSelect(IAuthorizationPrincipal ap, IGroupMember gm);
62:
63: /**
64: * Answers if the principal is able to update the group member.
65: * @param ap IAuthorizationPrincipal
66: * @param gm IGroupMember
67: * @return boolean
68: */
69: public boolean canUpdate(IAuthorizationPrincipal ap, IGroupMember gm);
70:
71: /**
72: * Answers if the principal is able to view the group member.
73: * @param ap IAuthorizationPrincipal
74: * @param gm IGroupMember
75: * @return boolean
76: */
77: public boolean canView(IAuthorizationPrincipal ap, IGroupMember gm);
78:
79: /**
80: * Answers if the principal is able to view the group member properties.
81: * @param ap IAuthorizationPrincipal
82: * @param gm IGroupMember
83: * @return boolean
84: */
85: public boolean canViewProperties(IAuthorizationPrincipal ap,
86: IGroupMember gm);
87: }
|