Interface ObjectPermissionSet
-
- All Superinterfaces:
PermissionSet<ObjectPermission>
- All Known Implementing Classes:
SimpleObjectPermissionSet
public interface ObjectPermissionSet extends PermissionSet<ObjectPermission>
A set of permissions which affect arbitrary objects, where each object has an associated unique identifier.
-
-
Field Summary
Fields Modifier and Type Field Description static ObjectPermissionSet
EMPTY_SET
An immutable instance of ObjectPermissionSet which contains no permissions.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
addPermission(ObjectPermission.Type permission, String identifier)
Adds the specified permission for the object having the given identifier.void
addPermissions(Set<ObjectPermission> permissions)
Adds the specified permissions, if not already granted.Collection<String>
getAccessibleObjects(Collection<ObjectPermission.Type> permissions, Collection<String> identifiers)
Tests whether this user has the specified permissions for the objects having the given identifiers.Set<ObjectPermission>
getPermissions()
Returns a Set which contains all permissions granted within this permission set.boolean
hasPermission(ObjectPermission.Type permission, String identifier)
Tests whether the permission of the given type is granted for the object having the given identifier.void
removePermission(ObjectPermission.Type permission, String identifier)
Removes the specified permission for the object having the given identifier.void
removePermissions(Set<ObjectPermission> permissions)
Removes each of the specified permissions, if granted.
-
-
-
Field Detail
-
EMPTY_SET
static final ObjectPermissionSet EMPTY_SET
An immutable instance of ObjectPermissionSet which contains no permissions.
-
-
Method Detail
-
hasPermission
boolean hasPermission(ObjectPermission.Type permission, String identifier) throws org.apache.guacamole.GuacamoleException
Tests whether the permission of the given type is granted for the object having the given identifier.- Parameters:
permission
- The permission to check.identifier
- The identifier of the object affected by the permission being checked.- Returns:
- true if the permission is granted, false otherwise.
- Throws:
org.apache.guacamole.GuacamoleException
- If an error occurs while checking permissions, or if permissions cannot be checked due to lack of permissions to do so.
-
addPermission
void addPermission(ObjectPermission.Type permission, String identifier) throws org.apache.guacamole.GuacamoleException
Adds the specified permission for the object having the given identifier.- Parameters:
permission
- The permission to add.identifier
- The identifier of the object affected by the permission being added.- Throws:
org.apache.guacamole.GuacamoleException
- If an error occurs while adding the permission, or if permission to add permissions is denied.
-
removePermission
void removePermission(ObjectPermission.Type permission, String identifier) throws org.apache.guacamole.GuacamoleException
Removes the specified permission for the object having the given identifier.- Parameters:
permission
- The permission to remove.identifier
- The identifier of the object affected by the permission being added.- Throws:
org.apache.guacamole.GuacamoleException
- If an error occurs while removing the permission, or if permission to remove permissions is denied.
-
getAccessibleObjects
Collection<String> getAccessibleObjects(Collection<ObjectPermission.Type> permissions, Collection<String> identifiers) throws org.apache.guacamole.GuacamoleException
Tests whether this user has the specified permissions for the objects having the given identifiers. The identifier of an object is returned in a new collection if at least one of the specified permissions is granted for that object.- Parameters:
permissions
- The permissions to check. An identifier will be included in the resulting collection if at least one of these permissions is granted for the associated objectidentifiers
- The identifiers of the objects affected by the permissions being checked.- Returns:
- A collection containing the subset of identifiers for which at least one of the specified permissions is granted.
- Throws:
org.apache.guacamole.GuacamoleException
- If an error occurs while checking permissions, or if permissions cannot be checked due to lack of permissions to do so.
-
getPermissions
Set<ObjectPermission> getPermissions() throws org.apache.guacamole.GuacamoleException
Description copied from interface:PermissionSet
Returns a Set which contains all permissions granted within this permission set.- Specified by:
getPermissions
in interfacePermissionSet<ObjectPermission>
- Returns:
- A Set containing all permissions granted within this permission set.
- Throws:
org.apache.guacamole.GuacamoleException
- If an error occurs while retrieving permissions, or if permissions cannot be retrieved due to lack of permissions to do so.
-
addPermissions
void addPermissions(Set<ObjectPermission> permissions) throws org.apache.guacamole.GuacamoleException
Description copied from interface:PermissionSet
Adds the specified permissions, if not already granted. If a specified permission is already granted, no operation is performed regarding that permission.- Specified by:
addPermissions
in interfacePermissionSet<ObjectPermission>
- Parameters:
permissions
- The permissions to add.- Throws:
org.apache.guacamole.GuacamoleException
- If an error occurs while adding the permissions, or if permission to add permissions is denied.
-
removePermissions
void removePermissions(Set<ObjectPermission> permissions) throws org.apache.guacamole.GuacamoleException
Description copied from interface:PermissionSet
Removes each of the specified permissions, if granted. If a specified permission is not granted, no operation is performed regarding that permission.- Specified by:
removePermissions
in interfacePermissionSet<ObjectPermission>
- Parameters:
permissions
- The permissions to remove.- Throws:
org.apache.guacamole.GuacamoleException
- If an error occurs while removing the permissions, or if permission to remove permissions is denied.
-
-