Interface GroupManager

All Superinterfaces:
Serializable
All Known Implementing Classes:
AbstractGroupManager

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

    Fields
    Modifier and Type
    Field
    Description
    static final String
    Avalon role - used to id the component within the manager
  • Method Summary

    Modifier and Type
    Method
    Description
    <T extends Group>
    T
    addGroup(T group)
    Creates a new group with specified attributes.
    boolean
    checkExists(String groupName)
    Determines if a Group exists in the security system with the specified name.
    boolean
    Determines if the Group exists in the security system.
    Retrieves all groups defined in the system.
    <T extends Group>
    T
    Retrieve a Group object with specified Id.
    <T extends Group>
    T
    Retrieve a Group object with specified name.
    <T extends Group>
    T
    Construct a blank Group object.
    <T extends Group>
    T
    Construct a blank Group object.
    void
    Removes a Group from the system.
    void
    renameGroup(Group group, String name)
    Renames an existing Group.
  • Field Details

    • ROLE

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

    • getGroupInstance

      <T extends Group> T getGroupInstance() throws DataBackendException
      Construct a blank Group object. This method calls getGroupClass, and then creates a new object using the default constructor.
      Type Parameters:
      T - The group extending Group
      Returns:
      an object implementing Group interface.
      Throws:
      DataBackendException - if the object could not be instantiated.
    • getGroupInstance

      <T extends Group> T getGroupInstance(String groupName) throws DataBackendException
      Construct a blank Group object. This method calls getGroupClass, and then creates a new object using the default constructor.
      Type Parameters:
      T - The group of type Group
      Parameters:
      groupName - The name of the Group
      Returns:
      an object implementing Group interface.
      Throws:
      DataBackendException - if the object could not be instantiated.
    • getGroupByName

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

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

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

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

      <T extends Group> T addGroup(T group) throws DataBackendException, EntityExistsException
      Creates a new group with specified attributes.
      Type Parameters:
      T -
      Parameters:
      group - the object describing the group to be created.
      Returns:
      the new Group object.
      Throws:
      DataBackendException - if there was an error accessing the data backend.
      EntityExistsException - if the group already exists.
    • getAllGroups

      GroupSet getAllGroups() throws DataBackendException
      Retrieves all groups defined in the system.
      Returns:
      the names of all groups defined in the system.
      Throws:
      DataBackendException - if there was an error accessing the data backend.
    • checkExists

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

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