Package org.apache.catalina

## Interface Role

- All Superinterfaces:
    `java.security.Principal`
  All Known Implementing Classes:
    `AbstractRole`, `GenericRole`, `MemoryRole`

      public interface Role
      extends java.security.Principal

  Abstract representation of a security role, suitable for use in environments like JAAS that want to deal with `Principals`.

  Since:
    4.1
  Author:
    Craig R. McClanahan

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.String` | `getDescription()` |
    `java.lang.String` | `getRolename()` |
    `UserDatabase` | `getUserDatabase()` |
    `void` | `setDescription​(java.lang.String description)` | Set the description of this role.
    `void` | `setRolename​(java.lang.String rolename)` | Set the role name of this role, which must be unique within the scope of a `UserDatabase`.

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

      `equals, getName, hashCode, implies, toString`

- - ### Method Detail

    - #### getDescription

          java.lang.String getDescription()

      Returns:
        the description of this role.

    - #### setDescription

          void setDescription​(java.lang.String description)

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

    - #### getRolename

          java.lang.String getRolename()

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

    - #### setRolename

          void setRolename​(java.lang.String rolename)

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

    - #### getUserDatabase

          UserDatabase getUserDatabase()

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