Interface CompiledPermissions
-
- All Known Implementing Classes:
AbstractCompiledPermissions
public interface CompiledPermissions
CompiledPermissions
represents the evaluation of anAccessControlPolicy
that applies for a given set ofPrincipal
s (normally obtained from the Subject of a Session).
-
-
Field Summary
Fields Modifier and Type Field Description static CompiledPermissions
NO_PERMISSION
Static implementation of aCompiledPermissions
that doesn't grant any permissions at all.
-
Method Summary
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description boolean
canRead(Path itemPath, ItemId itemId)
Returnstrue
if READ permission is granted for the existing item with the givenPath
and/orItemId
.boolean
canReadAll()
Returnstrue
if READ permission is granted everywhere.void
close()
Indicate to thisCompiledPermissions
object that it is not used any more.int
getPrivileges(Path absPath)
Deprecated.UsegetPrivilegeSet(Path)
instead.Set<Privilege>
getPrivilegeSet(Path absPath)
Returns thePrivilege
s granted by the underlying policy at the givenabsPath
.boolean
grants(Path absPath, int permissions)
Returnstrue
if the specified permissions are granted on the item identified by the givenpath
.boolean
hasPrivileges(Path absPath, Privilege... privileges)
Returnstrue
if the given privileges are granted at the specifiedabsPath
.
-
-
-
Field Detail
-
NO_PERMISSION
static final CompiledPermissions NO_PERMISSION
Static implementation of aCompiledPermissions
that doesn't grant any permissions at all.
-
-
Method Detail
-
close
void close()
Indicate to thisCompiledPermissions
object that it is not used any more.
-
grants
boolean grants(Path absPath, int permissions) throws RepositoryException
Returnstrue
if the specified permissions are granted on the item identified by the givenpath
.- Parameters:
absPath
- Absolute path pointing to an item. If the item does not exist yet (asking for 'add-node' and 'set-property' permission), it's direct ancestor must exist.permissions
- A combination of one or more of permission constants defined byPermission
encoded as a bitmask value- Returns:
true
if the specified permissions are granted,false
otherwise.- Throws:
RepositoryException
- if an error occurs.
-
getPrivileges
@Deprecated int getPrivileges(Path absPath) throws RepositoryException
Deprecated.UsegetPrivilegeSet(Path)
instead.Returns thePrivilege
bits granted by the underlying policy if the givenabsPath
.- Parameters:
absPath
- Absolute path to aNode
.- Returns:
- the granted privileges at
absPath
. - Throws:
RepositoryException
- if an error occurs
-
hasPrivileges
boolean hasPrivileges(Path absPath, Privilege... privileges) throws RepositoryException
Returnstrue
if the given privileges are granted at the specifiedabsPath
.- Parameters:
absPath
-privileges
-- Returns:
true
if the given privileges are granted at the specifiedabsPath
.- Throws:
RepositoryException
-
getPrivilegeSet
Set<Privilege> getPrivilegeSet(Path absPath) throws RepositoryException
Returns thePrivilege
s granted by the underlying policy at the givenabsPath
.- Parameters:
absPath
- Absolute path to aNode
.- Returns:
- the granted privileges at
absPath
. - Throws:
RepositoryException
- if an error occurs
-
canReadAll
boolean canReadAll() throws RepositoryException
Returnstrue
if READ permission is granted everywhere. This method acts as shortcut forgrants(Path, int)
where permissions isPermission.READ
and allows to shorten the evaluation time given the fact that a check for READ permission is considered to be the most frequent test.- Returns:
true
if the READ permission is granted everywhere.- Throws:
RepositoryException
- if an error occurs
-
canRead
boolean canRead(Path itemPath, ItemId itemId) throws RepositoryException
Returnstrue
if READ permission is granted for the existing item with the givenPath
and/orItemId
. This method acts as shortcut forgrants(Path, int)
where permissions isPermission.READ
and allows to shorten the evaluation time given the fact that a check for READ permissions is considered to be the most frequent test.
If both Path and ItemId are notnull
it is left to the implementation which parameter to use.n- Parameters:
itemPath
- The path to the item ornull
if the ID should be used to determine the READ permission.itemId
- The itemId ornull
if the path should be used to determine the READ permission.- Returns:
true
if the READ permission is granted.- Throws:
RepositoryException
- If no item exists with the specified path or itemId or if some other error occurs.
-
-