## org.apache.catalina.users
Class AbstractGroup

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

All Implemented Interfaces:
  Group, java.security.Principal

Direct Known Subclasses:
  MemoryGroup

public abstract class AbstractGroup
extends java.lang.Object
implements Group

Convenience base class for `Group` 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` `description` The description of this group.
`protected java.lang.String` `groupname` The group name of this group.

Constructor Summary
`AbstractGroup()`

Method Summary
`abstract void` `addRole(Role role)` Add a new `Role` to those assigned specifically to this group.
`java.lang.String` `getDescription()` Return the description of this group.
`java.lang.String` `getGroupname()` Return the group name of this group, which must be unique within the scope of a `UserDatabase`.
`java.lang.String` `getName()` Make the principal name the same as the group name.
`abstract java.util.Iterator` `getRoles()` Return the set of `Role`s assigned specifically to this group.
`abstract UserDatabase` `getUserDatabase()` Return the `UserDatabase` within which this Group is defined.
`abstract java.util.Iterator` `getUsers()` Return the set of `User`s that are members of this group.
`abstract boolean` `isInRole(Role role)` Is this group specifically assigned the specified `Role`?
`abstract void` `removeRole(Role role)` Remove a `Role` from those assigned to this group.
`abstract void` `removeRoles()` Remove all `Role`s from those assigned to this group.
`void` `setDescription(java.lang.String description)` Set the description of this group.
`void` `setGroupname(java.lang.String groupname)` Set the group name of this group, 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 java.security.Principal
`equals, hashCode, toString`

Field Detail

### description

    protected java.lang.String description

  The description of this group.

### groupname

    protected java.lang.String groupname

  The group name of this group.

Constructor Detail

### AbstractGroup

    public AbstractGroup()

Method Detail

### getDescription

    public java.lang.String getDescription()

  Return the description of this group.

  Specified by:
    `getDescription` in interface `Group`

### setDescription

    public void setDescription(java.lang.String description)

  Set the description of this group.

  Specified by:
    `setDescription` in interface `Group`
  Parameters:
    `description` - The new description

### getGroupname

    public java.lang.String getGroupname()

  Return the group name of this group, which must be unique within the scope of a `UserDatabase`.

  Specified by:
    `getGroupname` in interface `Group`

### setGroupname

    public void setGroupname(java.lang.String groupname)

  Set the group name of this group, which must be unique within the scope of a `UserDatabase`.

  Specified by:
    `setGroupname` in interface `Group`
  Parameters:
    `groupname` - The new group name

### getRoles

    public abstract java.util.Iterator getRoles()

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

  Specified by:
    `getRoles` in interface `Group`

### getUserDatabase

    public abstract UserDatabase getUserDatabase()

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

  Specified by:
    `getUserDatabase` in interface `Group`

### getUsers

    public abstract java.util.Iterator getUsers()

  Return the set of `User`s that are members of this group.

  Specified by:
    `getUsers` in interface `Group`

### addRole

    public abstract void addRole(Role role)

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

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

### isInRole

    public abstract boolean isInRole(Role role)

  Is this group specifically assigned the specified `Role`?

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

### removeRole

    public abstract void removeRole(Role role)

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

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

### removeRoles

    public abstract void removeRoles()

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

  Specified by:
    `removeRoles` in interface `Group`

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