org.apache.jackrabbit.core.security.authorization
Interface CompiledPermissions

All Known Implementing Classes:
AbstractCompiledPermissions

public interface CompiledPermissions

CompiledPermissions represents the evaluation of an AccessControlPolicy that applies for a given set of Principals (normally obtained from the Subject of a Session).


Method Summary
 boolean canReadAll()
          Returns true if READ permission is granted everywhere.
 void close()
          Indicate to this CompiledPermissions object that it is not used any more.
 int getPrivileges(Path absPath)
          Returns the Privileges granted by the underlying policy if the given absPath denotes an existing Node, otherwise it returns zero.
 boolean grants(Path absPath, int permissions)
          Returns true if the specified permissions are granted on the item identified by the given path.
 

Method Detail

close

void close()
Indicate to this CompiledPermissions object that it is not used any more.


grants

boolean grants(Path absPath,
               int permissions)
               throws RepositoryException
Returns true if the specified permissions are granted on the item identified by the given path.

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 by Permission encoded as a bitmask value
Returns:
true if the specified permissions are granted, false otherwise.
Throws:
RepositoryException - if an error occurs.

getPrivileges

int getPrivileges(Path absPath)
                  throws RepositoryException
Returns the Privileges granted by the underlying policy if the given absPath denotes an existing Node, otherwise it returns zero.

Returns:
the granted privileges at absPath or zero if the path does not denote an existing Node.
Throws:
RepositoryException - if an error occurs

canReadAll

boolean canReadAll()
                   throws RepositoryException
Returns true if READ permission is granted everywhere. This method acts as shortcut for grants(Path, int) where permissions is Permission.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


Copyright © 2004-2008 The Apache Software Foundation. All Rights Reserved.