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 ObjectPermissionSetEMPTY_SETAn immutable instance of ObjectPermissionSet which contains no permissions.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidaddPermission(ObjectPermission.Type permission, String identifier)Adds the specified permission for the object having the given identifier.voidaddPermissions(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.booleanhasPermission(ObjectPermission.Type permission, String identifier)Tests whether the permission of the given type is granted for the object having the given identifier.voidremovePermission(ObjectPermission.Type permission, String identifier)Removes the specified permission for the object having the given identifier.voidremovePermissions(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:PermissionSetReturns a Set which contains all permissions granted within this permission set.- Specified by:
getPermissionsin 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:PermissionSetAdds the specified permissions, if not already granted. If a specified permission is already granted, no operation is performed regarding that permission.- Specified by:
addPermissionsin 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:PermissionSetRemoves each of the specified permissions, if granted. If a specified permission is not granted, no operation is performed regarding that permission.- Specified by:
removePermissionsin 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.
-
-