Interface GroupDatabase

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void delete​(Group group)
      Looks up and deletes a Group from the group database.
      Group[] groups()
      Returns all wiki groups that are stored in the GroupDatabase as an array of Group objects.
      void initialize​(Engine engine, java.util.Properties props)
      Initializes the group database based on values from a Properties object.
      void save​(Group group, java.security.Principal modifier)
      Saves a Group to the group database.
    • Method Detail

      • save

        void save​(Group group,
                  java.security.Principal modifier)
           throws WikiSecurityException
        Saves a Group to the group database. Note that this method must fail, and throw an IllegalArgumentException, if the proposed group is the same name as one of the built-in Roles: e.g., Admin, Authenticated, etc. The database is responsible for setting create/modify timestamps, upon a successful save, to the Group. The method commits the results of the delete to persistent storage.
        Parameters:
        group - the Group to save
        modifier - the user who saved the Group
        Throws:
        WikiSecurityException - if the Group could not be saved successfully
      • groups

        Group[] groups()
                throws WikiSecurityException
        Returns all wiki groups that are stored in the GroupDatabase as an array of Group objects. If the database does not contain any groups, this method will return a zero-length array. This method causes back-end storage to load the entire set of group; thus, it should be called infrequently (e.g., at initialization time). Note that this method should use the protected constructor Group(String, String) rather than the various "parse" methods (GroupManager.parseGroup(String, String, boolean)) to construct the group. This is so as not to flood GroupManager's event queue with spurious events.
        Returns:
        the wiki groups
        Throws:
        WikiSecurityException - if the groups cannot be returned by the back-end