## org.apache.catalina.users
Class AbstractUser

    java.lang.Object
      org.apache.catalina.users.AbstractUser

All Implemented Interfaces:
  java.security.Principal, User

Direct Known Subclasses:
  MemoryUser

public abstract class AbstractUser
extends java.lang.Object
implements User

Convenience base class for `User` implementations.

Since:
  4.1
Version:
  $Revision: 1.5 $ $Date: 2004/08/26 21:42:04 $
Author:
  Craig R. McClanahan

Field Summary
`protected java.lang.String` `fullName` The full name of this user.
`protected java.lang.String` `password` The logon password of this user.
`protected java.lang.String` `username` The logon username of this user.

Constructor Summary
`AbstractUser()`

Method Summary
`abstract void` `addGroup(Group group)` Add a new `Group` to those this user belongs to.
`abstract void` `addRole(Role role)` Add a new `Role` to those assigned specifically to this user.
`java.lang.String` `getFullName()` Return the full name of this user.
`abstract java.util.Iterator` `getGroups()` Return the set of `Group`s to which this user belongs.
`java.lang.String` `getName()` Make the principal name the same as the group name.
`java.lang.String` `getPassword()` Return the logon password of this user, optionally prefixed with the identifier of an encoding scheme surrounded by curly braces, such as `{md5}xxxxx`.
`abstract java.util.Iterator` `getRoles()` Return the set of `Role`s assigned specifically to this user.
`java.lang.String` `getUsername()` Return the logon username of this user, which must be unique within the scope of a `UserDatabase`.
`abstract boolean` `isInGroup(Group group)` Is this user in the specified `Group`?
`abstract boolean` `isInRole(Role role)` Is this user specifically assigned the specified `Role`? This method does NOT check for roles inherited based on `Group` membership.
`abstract void` `removeGroup(Group group)` Remove a `Group` from those this user belongs to.
`abstract void` `removeGroups()` Remove all `Group`s from those this user belongs to.
`abstract void` `removeRole(Role role)` Remove a `Role` from those assigned to this user.
`abstract void` `removeRoles()` Remove all `Role`s from those assigned to this user.
`void` `setFullName(java.lang.String fullName)` Set the full name of this user.
`void` `setPassword(java.lang.String password)` Set the logon password of this user, optionally prefixed with the identifier of an encoding scheme surrounded by curly braces, such as `{md5}xxxxx`.
`void` `setUsername(java.lang.String username)` Set the logon username of this user, which must be unique within the scope of a `UserDatabase`.

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

Methods inherited from interface org.apache.catalina.User
`getUserDatabase`

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

Field Detail

### fullName

    protected java.lang.String fullName

  The full name of this user.

### password

    protected java.lang.String password

  The logon password of this user.

### username

    protected java.lang.String username

  The logon username of this user.

Constructor Detail

### AbstractUser

    public AbstractUser()

Method Detail

### getFullName

    public java.lang.String getFullName()

  Return the full name of this user.

  Specified by:
    `getFullName` in interface `User`

### setFullName

    public void setFullName(java.lang.String fullName)

  Set the full name of this user.

  Specified by:
    `setFullName` in interface `User`
  Parameters:
    `fullName` - The new full name

### getGroups

    public abstract java.util.Iterator getGroups()

  Return the set of `Group`s to which this user belongs.

  Specified by:
    `getGroups` in interface `User`

### getPassword

    public java.lang.String getPassword()

  Return the logon password of this user, optionally prefixed with the identifier of an encoding scheme surrounded by curly braces, such as `{md5}xxxxx`.

  Specified by:
    `getPassword` in interface `User`

### setPassword

    public void setPassword(java.lang.String password)

  Set the logon password of this user, optionally prefixed with the identifier of an encoding scheme surrounded by curly braces, such as `{md5}xxxxx`.

  Specified by:
    `setPassword` in interface `User`
  Parameters:
    `password` - The new logon password

### getRoles

    public abstract java.util.Iterator getRoles()

  Return the set of `Role`s assigned specifically to this user.

  Specified by:
    `getRoles` in interface `User`

### getUsername

    public java.lang.String getUsername()

  Return the logon username of this user, which must be unique within the scope of a `UserDatabase`.

  Specified by:
    `getUsername` in interface `User`

### setUsername

    public void setUsername(java.lang.String username)

  Set the logon username of this user, which must be unique within the scope of a `UserDatabase`.

  Specified by:
    `setUsername` in interface `User`
  Parameters:
    `username` - The new logon username

### addGroup

    public abstract void addGroup(Group group)

  Add a new `Group` to those this user belongs to.

  Specified by:
    `addGroup` in interface `User`
  Parameters:
    `group` - The new group

### addRole

    public abstract void addRole(Role role)

  Add a new `Role` to those assigned specifically to this user.

  Specified by:
    `addRole` in interface `User`
  Parameters:
    `role` - The new role

### isInGroup

    public abstract boolean isInGroup(Group group)

  Is this user in the specified `Group`?

  Specified by:
    `isInGroup` in interface `User`
  Parameters:
    `group` - The group to check

### isInRole

    public abstract boolean isInRole(Role role)

  Is this user specifically assigned the specified `Role`? This method does NOT check for roles inherited based on `Group` membership.

  Specified by:
    `isInRole` in interface `User`
  Parameters:
    `role` - The role to check

### removeGroup

    public abstract void removeGroup(Group group)

  Remove a `Group` from those this user belongs to.

  Specified by:
    `removeGroup` in interface `User`
  Parameters:
    `group` - The old group

### removeGroups

    public abstract void removeGroups()

  Remove all `Group`s from those this user belongs to.

  Specified by:
    `removeGroups` in interface `User`

### removeRole

    public abstract void removeRole(Role role)

  Remove a `Role` from those assigned to this user.

  Specified by:
    `removeRole` in interface `User`
  Parameters:
    `role` - The old role

### removeRoles

    public abstract void removeRoles()

  Remove all `Role`s from those assigned to this user.

  Specified by:
    `removeRoles` in interface `User`

### getName

    public java.lang.String getName()

  Make the principal name the same as the group name.

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

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