Package org.apache.catalina.users

## Class GenericRole<UD extends UserDatabase>

- java.lang.Object
- - org.apache.catalina.users.AbstractRole
  - - org.apache.catalina.users.GenericRole<UD>

Type Parameters:
  `UD` - The specific type of UserDase with which this role is associated

All Implemented Interfaces:
  `Principal`, `Role`

Direct Known Subclasses:
  `MemoryRole`

    public class GenericRole<UD extends UserDatabase>
    extends AbstractRole

Concrete implementation of `Role` for a `UserDatabase`.

Author:
  Craig R. McClanahan

### Field Summary

Fields
`protected UserDatabase` `database` The `UserDatabase` that owns this role.

### Fields inherited from class org.apache.catalina.users.AbstractRole

`description, rolename`

### Method Summary

All Methods Instance Methods Concrete Methods
`boolean` `equals​(Object obj)`
`UserDatabase` `getUserDatabase()` Return the `UserDatabase` within which this role is defined.
`int` `hashCode()`
`void` `setDescription​(String description)` Set the description of this role.
`void` `setRolename​(String rolename)` Set the role name of this role, which must be unique within the scope of a `UserDatabase`.

### Methods inherited from class org.apache.catalina.users.AbstractRole

`getDescription, getName, getRolename`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

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

`implies, toString`

### Field Detail

#### database

    protected final UserDatabase database

The `UserDatabase` that owns this role.

### Method Detail

#### getUserDatabase

    public UserDatabase getUserDatabase()

Return the `UserDatabase` within which this role is defined.

Specified by:
  `getUserDatabase` in interface `Role`
Specified by:
  `getUserDatabase` in class `AbstractRole`
Returns:
  the `UserDatabase` within which this Role is defined.

#### setDescription

    public void setDescription​(String description)

Description copied from class: `AbstractRole`
Set the description of this role.

Specified by:
  `setDescription` in interface `Role`
Overrides:
  `setDescription` in class `AbstractRole`
Parameters:
  `description` - The new description

#### setRolename

    public void setRolename​(String rolename)

Description copied from class: `AbstractRole`
Set the role name of this role, which must be unique within the scope of a `UserDatabase`.

Specified by:
  `setRolename` in interface `Role`
Overrides:
  `setRolename` in class `AbstractRole`
Parameters:
  `rolename` - The new role name

#### equals

    public boolean equals​(Object obj)

Specified by:
  `equals` in interface `Principal`
Overrides:
  `equals` in class `Object`

#### hashCode

    public int hashCode()

Specified by:
  `hashCode` in interface `Principal`
Overrides:
  `hashCode` in class `Object`