# Class UserDatabaseRealm.UserDatabasePrincipal

java.lang.Object
org.apache.catalina.realm.GenericPrincipal
org.apache.catalina.realm.UserDatabaseRealm.UserDatabasePrincipal

All Implemented Interfaces:
  `Serializable, Principal, TomcatPrincipal`

Enclosing class:
  `UserDatabaseRealm`

public static final class UserDatabaseRealm.UserDatabasePrincipal extends GenericPrincipal

Since:
  4.1
See Also:
  - Serialized Form

- ## Field Summary

  ### Fields inherited from class GenericPrincipal

  `attributes, gssCredential, loginContext, name, roles, userPrincipal`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `UserDatabasePrincipal(User user, UserDatabase database)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String[]`
  `getRoles()`
  `boolean`
  `hasRole(String role)`
  Does the user represented by this Principal possess the specified role?

  ### Methods inherited from class GenericPrincipal

  `getAttribute, getAttributeNames, getGssCredential, getName, getUserPrincipal, logout, setGssCredential, toString`

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface Principal

  `equals, hashCode, implies`

- ## Constructor Details

  - ### UserDatabasePrincipal

    public UserDatabasePrincipal(User user, UserDatabase database)

- ## Method Details

  - ### getRoles

    public String[] getRoles()
    Overrides:
      `getRoles` in class `GenericPrincipal`

  - ### hasRole

    public boolean hasRole(String role)
    Description copied from class: `GenericPrincipal`
    Does the user represented by this Principal possess the specified role?
    Overrides:
      `hasRole` in class `GenericPrincipal`
    Parameters:
      `role` - Role to be tested
    Returns:
      `true` if this Principal has been assigned the given role, otherwise `false`