## org.apache.catalina
Interface User

All Superinterfaces:
  java.security.Principal

All Known Implementing Classes:
  AbstractUser

public interface User
extends java.security.Principal

Abstract representation of a user in a `UserDatabase`. Each user is optionally associated with a set of `Group`s through which he or she inherits additional security roles, and is optionally assigned a set of specific `Role`s.

Since:
  4.1
Version:
  $Revision: 1.6 $ $Date: 2004/08/26 22:05:54 $
Author:
  Craig R. McClanahan

Method Summary
`void` `addGroup(Group group)` Add a new `Group` to those this user belongs to.
`void` `addRole(Role role)` Add a `Role` to those assigned specifically to this user.
`java.lang.String` `getFullName()` Return the full name of this user.
`java.util.Iterator` `getGroups()` Return the set of `Group`s to which this user belongs.
`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`.
`java.util.Iterator` `getRoles()` Return the set of `Role`s assigned specifically to this user.
`UserDatabase` `getUserDatabase()` Return the `UserDatabase` within which this User is defined.
`java.lang.String` `getUsername()` Return the logon username of this user, which must be unique within the scope of a `UserDatabase`.
`boolean` `isInGroup(Group group)` Is this user in the specified `Group`?
`boolean` `isInRole(Role role)` Is this user specifically assigned the specified `Role`? This method does NOT check for roles inherited based on `Group` membership.
`void` `removeGroup(Group group)` Remove a `Group` from those this user belongs to.
`void` `removeGroups()` Remove all `Group`s from those this user belongs to.
`void` `removeRole(Role role)` Remove a `Role` from those assigned to this user.
`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 interface java.security.Principal
`equals, getName, hashCode, toString`

Method Detail

### getFullName

    public java.lang.String getFullName()

  Return the full name of this user.

### setFullName

    public void setFullName(java.lang.String fullName)

  Set the full name of this user.

  Parameters:
    `fullName` - The new full name

### getGroups

    public java.util.Iterator getGroups()

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

### 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`.

### 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`.

  Parameters:
    `password` - The new logon password

### getRoles

    public java.util.Iterator getRoles()

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

### getUserDatabase

    public UserDatabase getUserDatabase()

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

### getUsername

    public java.lang.String getUsername()

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

### 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`.

  Parameters:
    `username` - The new logon username

### addGroup

    public void addGroup(Group group)

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

  Parameters:
    `group` - The new group

### addRole

    public void addRole(Role role)

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

  Parameters:
    `role` - The new role

### isInGroup

    public boolean isInGroup(Group group)

  Is this user in the specified `Group`?

  Parameters:
    `group` - The group to check

### isInRole

    public boolean isInRole(Role role)

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

  Parameters:
    `role` - The role to check

### removeGroup

    public void removeGroup(Group group)

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

  Parameters:
    `group` - The old group

### removeGroups

    public void removeGroups()

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

### removeRole

    public void removeRole(Role role)

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

  Parameters:
    `role` - The old role

### removeRoles

    public void removeRoles()

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

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