2.14.1: 2009-11-05

net.sf.basedb.core
Class GroupPermissions

java.lang.Object
  extended by net.sf.basedb.core.GroupPermissions

public class GroupPermissions
extends Object

This class is used to specify permissions to share an item to groups. It is a three-step procedure:

Don't forget to commit the transaction.

Version:
2.0
Author:
Nicklas
See Also:
ItemKey, UserPermissions
Last modified
$Date: 2009-04-06 14:52:39 +0200 (Mon, 06 Apr 2009) $

Field Summary
private  Map<GroupData,Integer> groupPermissions
           
private  Map<GroupData,Integer> originalPermissions
           
 
Constructor Summary
GroupPermissions()
          Create a new empty object.
GroupPermissions(ItemKey itemKey)
          Create a new object, and initialise it with the permissions from a ItemKey.
 
Method Summary
 void addPermissions(Group group, Set<Permission> permissions)
          Grant permissions to a group, keeping those that have already been set.
(package private)  Map<GroupData,Integer> getGroupPermissions()
          Get the internal representation of the permissions.
(package private)  Map<GroupData,Integer> getOriginalPermissions()
          Get the internal representation of the original permissions.
 Set<Permission> getOriginalPermissions(Group group)
          Get the original permissions for a group if this object was created with the GroupPermissions(ItemKey) constructor.
 Set<Permission> 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 setPermissions(Group group, Set<Permission> permissions)
          Grant permissions to a group.
 int size()
          Get the number of entries.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

groupPermissions

private final Map<GroupData,Integer> groupPermissions

originalPermissions

private final Map<GroupData,Integer> originalPermissions
Constructor Detail

GroupPermissions

public GroupPermissions()
Create a new empty object.


GroupPermissions

public GroupPermissions(ItemKey itemKey)
                 throws InvalidDataException
Create a new object, and initialise it with the permissions from a ItemKey.

Parameters:
itemKey - The item key from which we take the current permissions
Throws:
InvalidDataException - If the item key is null
Method Detail

setPermissions

public void setPermissions(Group group,
                           Set<Permission> permissions)
                    throws InvalidDataException
Grant permissions to a group. Use an empty Set or null to remove all permissions for the group.

Parameters:
group - The Group
permissions - The permissions to grant
Throws:
InvalidDataException - If the group is null
See Also:
Permission

addPermissions

public void addPermissions(Group group,
                           Set<Permission> permissions)
                    throws InvalidDataException
Grant permissions to a group, keeping those that have already been set.

Parameters:
group - The Group
permissions - The permissions to grant
Throws:
InvalidDataException - If the user is null
See Also:
Permission

getPermissions

public Set<Permission> getPermissions(Group group)
                               throws InvalidDataException
Get the permissions for a group.

Parameters:
group - The Group 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(Group), Permission

getOriginalPermissions

public Set<Permission> getOriginalPermissions(Group group)
Get the original permissions for a group if this object was created with the GroupPermissions(ItemKey) constructor.

Parameters:
group - The Group 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:
getPermissions(Group)

hasChanged

public boolean hasChanged(Group group)
Check if the current permissions for the group has been changed from the original permissions. This method will return false if the getPermissions(Group) returns a set with the same permissions getOriginalPermissions(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

final Map<GroupData,Integer> getGroupPermissions()
Get the internal representation of the permissions.


getOriginalPermissions

final Map<GroupData,Integer> getOriginalPermissions()
Get the internal representation of the original permissions.

Since:
2.6

2.14.1: 2009-11-05