org.apache.catalina

## Interface Group

- All Superinterfaces:
    Principal
  All Known Implementing Classes:
    AbstractGroup, MemoryGroup

      public interface Group
      extends Principal

  Abstract representation of a group of `User`s in a `UserDatabase`. Each user that is a member of this group inherits the `Role`s assigned to the group.

  Since:
    4.1
  Author:
    Craig R. McClanahan

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addRole(Role role)` Add a new `Role` to those assigned specifically to this group.
    `String` | `getDescription()`
    `String` | `getGroupname()`
    `Iterator<Role>` | `getRoles()`
    `UserDatabase` | `getUserDatabase()`
    `Iterator<User>` | `getUsers()`
    `boolean` | `isInRole(Role role)` Is this group specifically assigned the specified `Role`?
    `void` | `removeRole(Role role)` Remove a `Role` from those assigned to this group.
    `void` | `removeRoles()` Remove all `Role`s from those assigned to this group.
    `void` | `setDescription(String description)` Set the description of this group.
    `void` | `setGroupname(String groupname)` Set the group name of this group, which must be unique within the scope of a `UserDatabase`.

    - ### Methods inherited from interface java.security.Principal

      `equals, getName, hashCode, toString`

- - ### Method Detail

    - #### getDescription

          String getDescription()

      Returns:
        the description of this group.

    - #### setDescription

          void setDescription(String description)

      Set the description of this group.
      Parameters:
        `description` - The new description

    - #### getGroupname

          String getGroupname()

      Returns:
        the group name of this group, which must be unique within the scope of a `UserDatabase`.

    - #### setGroupname

          void setGroupname(String groupname)

      Set the group name of this group, which must be unique within the scope of a `UserDatabase`.
      Parameters:
        `groupname` - The new group name

    - #### getRoles

          Iterator<Role> getRoles()

      Returns:
        the set of `Role`s assigned specifically to this group.

    - #### getUserDatabase

          UserDatabase getUserDatabase()

      Returns:
        the `UserDatabase` within which this Group is defined.

    - #### getUsers

          Iterator<User> getUsers()

      Returns:
        the set of `User`s that are members of this group.

    - #### addRole

          void addRole(Role role)

      Add a new `Role` to those assigned specifically to this group.
      Parameters:
        `role` - The new role

    - #### isInRole

          boolean isInRole(Role role)

      Is this group specifically assigned the specified `Role`?
      Parameters:
        `role` - The role to check
      Returns:
        `true` if the group is assigned to the specified role otherwise `false`

    - #### removeRole

          void removeRole(Role role)

      Remove a `Role` from those assigned to this group.
      Parameters:
        `role` - The old role

    - #### removeRoles

          void removeRoles()

      Remove all `Role`s from those assigned to this group.

Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.