Package net.sf.basedb.core
Class GroupPermissions
java.lang.Object
net.sf.basedb.core.GroupPermissions
This class is used to specify permissions to share an item to
groups. It is a three-step procedure:
- Fill this object with permissions for specific groups
- Create a new
ItemKey
using this object as one of the input parameters toItemKey.getNewOrExisting(DbControl, UserPermissions, GroupPermissions)
- Assign the key to the item:
Shareable.setItemKey(ItemKey)
- Version:
- 2.0
- Author:
- Nicklas
- See Also:
- Last modified
- $Date: 2010-06-22 14:51:41 +0200 (ti, 22 jun 2010) $
-
Field Summary
Modifier and TypeFieldDescription -
Constructor Summary
ConstructorDescriptionCreate a new empty object.GroupPermissions
(ItemKey itemKey) Create a new object, and initialise it with the permissions from aItemKey
. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addPermissions
(Group group, Set<Permission> permissions) Grant permissions to a group, keeping those that have already been set.Get the internal representation of the permissions.Get the internal representation of the original permissions.getOriginalPermissions
(Group group) Get the original permissions for a group if this object was created with theGroupPermissions(ItemKey)
constructor.getPermissions
(Group group) Get the permissions for a group.boolean
hasChanged
(Group group) Check if the current permissions for the group has been changed from the original permissions.void
Merge the permissions for all groups from the given item key with the permissions in this object.void
setPermissions
(Group group, Set<Permission> permissions) Grant permissions to a group.int
size()
Get the number of entries.
-
Field Details
-
groupPermissions
-
originalPermissions
-
-
Constructor Details
-
GroupPermissions
public GroupPermissions()Create a new empty object. -
GroupPermissions
Create a new object, and initialise it with the permissions from aItemKey
.- Parameters:
itemKey
- The item key from which we take the current permissions- Throws:
InvalidDataException
- If the item key is null
-
-
Method Details
-
merge
Merge the permissions for all groups from the given item key with the permissions in this object. If the item key contains permissions for a group that already has permissions in this object the permissions are combined (added) to create a new permission.- Parameters:
itemKey
- An item key (if null, this method simply returns)- Since:
- 2.16
-
setPermissions
Grant permissions to a group. Use an emptySet
or null to remove all permissions for the group.- Parameters:
group
- TheGroup
permissions
- The permissions to grant- Throws:
InvalidDataException
- If the group is null- See Also:
-
addPermissions
Grant permissions to a group, keeping those that have already been set.- Parameters:
group
- TheGroup
permissions
- The permissions to grant- Throws:
InvalidDataException
- If the user is null- See Also:
-
getPermissions
Get the permissions for a group.- Parameters:
group
- TheGroup
for which we want to get the permission- Returns:
- An
Set
containing the granted permissions, or an empty set if no permissions have been granted - Throws:
InvalidDataException
- If the group is null- See Also:
-
getOriginalPermissions
Get the original permissions for a group if this object was created with theGroupPermissions(ItemKey)
constructor.- Parameters:
group
- TheGroup
for which we want to get the permission- Returns:
- An
Set
containing the original permissions, or an empty set - Throws:
InvalidDataException
- If the group is null- Since:
- 2.6
- See Also:
-
hasChanged
Check if the current permissions for the group has been changed from the original permissions. This method will return false if thegetPermissions(Group)
returns a set with the same permissionsgetOriginalPermissions(Group)
.- Parameters:
group
- The group to check- Returns:
- TRUE if the permissions have changed, FALSE otherwise
- Throws:
InvalidDataException
- If the group is null- Since:
- 2.6
-
size
public int size()Get the number of entries. -
getGroupPermissions
Get the internal representation of the permissions. -
getOriginalPermissions
Get the internal representation of the original permissions.- Since:
- 2.6
-