## org.apache.catalina.realm
Class GenericPrincipal

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

All Implemented Interfaces:
  java.security.Principal

public class GenericPrincipal
extends java.lang.Object
implements java.security.Principal

Generic implementation of java.security.Principal that is available for use by `Realm` implementations.

Version:
  $Revision: 466595 $ $Date: 2006-10-21 23:24:41 +0100 (Sat, 21 Oct 2006) $
Author:
  Craig R. McClanahan

Field Summary
`protected java.lang.String` `name` The username of the user represented by this Principal.
`protected java.lang.String` `password` The authentication credentials for the user represented by this Principal.
`protected Realm` `realm` The Realm with which this Principal is associated.
`protected java.lang.String[]` `roles` The set of roles associated with this user.

Constructor Summary
`GenericPrincipal(Realm realm, java.lang.String name, java.lang.String password)` Construct a new Principal, associated with the specified Realm, for the specified username and password.
`GenericPrincipal(Realm realm, java.lang.String name, java.lang.String password, java.util.List roles)` Construct a new Principal, associated with the specified Realm, for the specified username and password, with the specified role names (as Strings).

Method Summary
`java.lang.String` `getName()`
`java.lang.String` `getPassword()`
`Realm` `getRealm()`
`java.lang.String[]` `getRoles()`
`boolean` `hasRole(java.lang.String role)` Does the user represented by this Principal possess the specified role?
`java.lang.String` `toString()` Return a String representation of this object, which exposes only information that should be public.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface java.security.Principal
`equals, hashCode`

Field Detail

### name

    protected java.lang.String name

  The username of the user represented by this Principal.

### password

    protected java.lang.String password

  The authentication credentials for the user represented by this Principal.

### realm

    protected Realm realm

  The Realm with which this Principal is associated.

### roles

    protected java.lang.String[] roles

  The set of roles associated with this user.

Constructor Detail

### GenericPrincipal

    public GenericPrincipal(Realm realm,
                            java.lang.String name,
                            java.lang.String password)

  Construct a new Principal, associated with the specified Realm, for the specified username and password.

Parameters:
  `realm` - The Realm that owns this Principal
  `name` - The username of the user represented by this Principal
  `password` - Credentials used to authenticate this user

### GenericPrincipal

    public GenericPrincipal(Realm realm,
                            java.lang.String name,
                            java.lang.String password,
                            java.util.List roles)

  Construct a new Principal, associated with the specified Realm, for the specified username and password, with the specified role names (as Strings).

Parameters:
  `realm` - The Realm that owns this principal
  `name` - The username of the user represented by this Principal
  `password` - Credentials used to authenticate this user
  `roles` - List of roles (must be Strings) possessed by this user

Method Detail

### getName

    public java.lang.String getName()

  Specified by:
    `getName` in interface `java.security.Principal`

### getPassword

    public java.lang.String getPassword()

### getRealm

    public Realm getRealm()

### getRoles

    public java.lang.String[] getRoles()

### hasRole

    public boolean hasRole(java.lang.String role)

  Does the user represented by this Principal possess the specified role?

  Parameters:
    `role` - Role to be tested

### toString

    public java.lang.String toString()

  Return a String representation of this object, which exposes only information that should be public.

  Specified by:
    `toString` in interface `java.security.Principal`

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