Interface PermissionManager

All Superinterfaces:
Serializable
All Known Implementing Classes:
AbstractPermissionManager

public interface PermissionManager extends Serializable
A PermissionManager performs Permission objects related tasks on behalf of the BaseSecurityService. The responsibilities of this class include loading data of an permission from the storage and putting them into the Permission objects, saving those data to the permanent storage.
Version:
$Id$
Author:
Eric Pugh
  • Field Details

    • ROLE

      static final String ROLE
      Avalon role - used to id the component within the manager
  • Method Details

    • getPermissionInstance

      <T extends Permission> T getPermissionInstance() throws DataBackendException
      Construct a blank Permission object. This method calls getPermissionClass, and then creates a new object using the default constructor.
      Type Parameters:
      T - permission type
      Returns:
      an object implementing Permission interface.
      Throws:
      DataBackendException - if there was an error accessing the data backend.
    • getPermissionInstance

      <T extends Permission> T getPermissionInstance(String permName) throws DataBackendException
      Construct a blank Permission object. This method calls getPermissionClass, and then creates a new object using the default constructor.
      Type Parameters:
      T - permission type
      Parameters:
      permName - The name of the Permission
      Returns:
      an object implementing Permission interface.
      Throws:
      DataBackendException - if there was an error accessing the data backend.
    • getPermissionByName

      <T extends Permission> T getPermissionByName(String name) throws DataBackendException, UnknownEntityException
      Retrieve a Permission object with specified name.
      Type Parameters:
      T - permission type
      Parameters:
      name - the name of the Permission.
      Returns:
      an object representing the Permission with specified name.
      Throws:
      DataBackendException - if there was an error accessing the data backend.
      UnknownEntityException - if the permission does not exist.
    • getPermissionById

      <T extends Permission> T getPermissionById(Object id) throws DataBackendException, UnknownEntityException
      Retrieve a Permission object with specified Id.
      Type Parameters:
      T - permission type
      Parameters:
      id - the Id of the Permission.
      Returns:
      an object representing the Permission with specified name.
      Throws:
      UnknownEntityException - if the permission does not exist in the database.
      DataBackendException - if there is a problem accessing the storage.
    • getAllPermissions

      PermissionSet getAllPermissions() throws DataBackendException
      Retrieves all permissions defined in the system.
      Returns:
      the names of all permissions defined in the system.
      Throws:
      DataBackendException - if there was an error accessing the data backend.
    • addPermission

      <T extends Permission> T addPermission(T permission) throws DataBackendException, EntityExistsException
      Creates a new permission with specified attributes.
      Parameters:
      permission - The object describing the permission to be created.
      Returns:
      the new Permission object.
      Throws:
      DataBackendException - if there was an error accessing the data backend.
      EntityExistsException - if the permission already exists.
    • removePermission

      void removePermission(Permission permission) throws DataBackendException, UnknownEntityException
      Removes a Permission from the system.
      Parameters:
      permission - The object describing the permission to be removed.
      Throws:
      DataBackendException - if there was an error accessing the data backend.
      UnknownEntityException - if the permission does not exist.
    • renamePermission

      void renamePermission(Permission permission, String name) throws DataBackendException, UnknownEntityException
      Renames an existing Permission.
      Parameters:
      permission - The object describing the permission to be renamed.
      name - the new name for the permission.
      Throws:
      DataBackendException - if there was an error accessing the data backend.
      UnknownEntityException - if the permission does not exist.
    • checkExists

      boolean checkExists(Permission permission) throws DataBackendException
      Determines if the Permission exists in the security system.
      Parameters:
      permission - a Permission value
      Returns:
      true if the permission exists in the system, false otherwise
      Throws:
      DataBackendException - when more than one Permission with the same name exists.
    • checkExists

      boolean checkExists(String permissionName) throws DataBackendException
      Determines if a Permission exists in the security system with the specified name.
      Parameters:
      permissionName - the name of a Permission to check
      Returns:
      true if the permission exists in the system, false otherwise
      Throws:
      DataBackendException - when more than one Permission with the same name exists.