Class AbstractGroup

java.lang.Object
org.apache.catalina.users.AbstractGroup
All Implemented Interfaces:
Principal, Group
Direct Known Subclasses:
MemoryGroup

public abstract class AbstractGroup extends Object implements Group

Convenience base class for Group implementations.

Since:
4.1
Author:
Craig R. McClanahan
  • Field Details

    • description

      protected String description
      The description of this group.
    • groupname

      protected String groupname
      The group name of this group.
  • Constructor Details

    • AbstractGroup

      public AbstractGroup()
  • Method Details

    • getDescription

      public String getDescription()
      Return the description of this group.
      Specified by:
      getDescription in interface Group
      Returns:
      the description of this group.
    • setDescription

      public void setDescription(String description)
      Set the description of this group.
      Specified by:
      setDescription in interface Group
      Parameters:
      description - The new description
    • getGroupname

      public String getGroupname()
      Return the group name of this group, which must be unique within the scope of a UserDatabase.
      Specified by:
      getGroupname in interface Group
      Returns:
      the group name of this group, which must be unique within the scope of a UserDatabase.
    • setGroupname

      public void setGroupname(String groupname)
      Set the group name of this group, which must be unique within the scope of a UserDatabase.
      Specified by:
      setGroupname in interface Group
      Parameters:
      groupname - The new group name
    • getRoles

      public abstract Iterator<Role> getRoles()
      Return the set of Roles assigned specifically to this group.
      Specified by:
      getRoles in interface Group
      Returns:
      the set of Roles assigned specifically to this group.
    • getUserDatabase

      public abstract UserDatabase getUserDatabase()
      Return the UserDatabase within which this Group is defined.
      Specified by:
      getUserDatabase in interface Group
      Returns:
      the UserDatabase within which this Group is defined.
    • getUsers

      public abstract Iterator<User> getUsers()
      Return an Iterator over the set of Users that are members of this group.
      Specified by:
      getUsers in interface Group
      Returns:
      the set of Users that are members of this group.
    • addRole

      public abstract void addRole(Role role)
      Add a new Role to those assigned specifically to this group.
      Specified by:
      addRole in interface Group
      Parameters:
      role - The new role
    • isInRole

      public abstract boolean isInRole(Role role)
      Is this group specifically assigned the specified Role?
      Specified by:
      isInRole in interface Group
      Parameters:
      role - The role to check
      Returns:
      true if the group is assigned to the specified role otherwise false
    • removeRole

      public abstract void removeRole(Role role)
      Remove a Role from those assigned to this group.
      Specified by:
      removeRole in interface Group
      Parameters:
      role - The old role
    • removeRoles

      public abstract void removeRoles()
      Remove all Roles from those assigned to this group.
      Specified by:
      removeRoles in interface Group
    • getName

      public String getName()
      Make the principal name the same as the group name.
      Specified by:
      getName in interface Principal