# Interface Role

All Superinterfaces:
  `Principal`

All Known Implementing Classes:
  `AbstractRole`, `GenericRole`

public interface Role extends 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

Modifier and Type
Method
Description
`String`
`getDescription()`
`String`
`getRolename()`
`UserDatabase`
`getUserDatabase()`
`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 interface java.security.Principal

`equals, getName, hashCode, implies, toString`

## Method Details

### getDescription

String getDescription()

Returns:
  the description of this role.

### setDescription

void setDescription(String description)
Set the description of this role.

Parameters:
  `description` - The new description

### getRolename

String getRolename()

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

### setRolename

void setRolename(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.