Overview | Package | Class | Tree | Deprecated | Index | Help
| © 2003 BEA Systems, Inc.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.bea.p13n.usermgmt
Interface GroupManager

All Superinterfaces:
  EJBObject, Remote

public interface GroupManager
extends EJBObject

Remote interface for the GroupManager session bean. This class depends on the following EJB environment in the ejb deployment descriptor:

- ejb/GroupProfileManager: an ejb-ref pointing to the default GroupProfileManager deployment.
- ProtectedGroupNames: an env-entry of type String containing a comma-separated list of group names (case insensitive) that cannot be deleted through the GroupManager. These are optional, required only if you wish to protect group names from deletion. Note that the special WLS groups everyone, users, and Administrators are always protected - this list can be used to extend that protection to other groups. Any methods that create or remove groups delegate to the WebLogic provider selected by RealmHelper.getProviderMBean. If multiple providers are configured, see RealmHelper for information about which of those providers will be used.

  See Also:
    `RealmHelper.getProviderMBean()`

  Method Summary
  `void` | `addGroupToGroup(String parentGroup, String childGroup)` Add a child group to a group
  `void` | `addUserToGroup(String groupname, String username)` Add a user to a group.
  `ProfileWrapper` | `createGroup(String name)`
  `List` | `getAllGroupNames()` Retrieve a list of all groups in the system.
  `List` | `getChildGroupNames(String groupname)` Retrieve a list of all children of a group.
  `List` | `getGroupNamesForUser(String username)` Retrieve a list of all groups that a user belongs to.
  `ProfileWrapper` | `getGroupProfile(String name)`
  `ProfileManager` | `getGroupProfileManager(String name)` Returns a profile manager that can be used to access a group's profile.
  `String` | `getParentGroupName(String groupname)` Retrieve the parent of a group.
  `List` | `getTopLevelGroupNames()` Retrieve a list of groups that do not have parent groups.
  `List` | `getUsernamesForGroup(String groupname)` Retrieve a list of all users in a group.
  `List` | `getUsernamesForGroup(String groupname, String searchExpression, int limit)` Retrieve a list of users in a group, matching the provided wildcard expression
  `boolean` | `groupExists(String name)` Determines if a group exists.
  `boolean` | `isDeletableGroup(String name)` Determine if a group can be deleted.
  `boolean` | `isDescendent(String ancestor, String descendent)` Determine if one group is a descendent of another.
  `boolean` | `isMember(String groupname, String username)` Determine if a user is a member of a group.
  `void` | `removeGroup(String name)` Remove a group.
  `void` | `removeGroupFromGroup(String parentGroup, String childGroup)` Remove a child group from a group
  `void` | `removeUserFromGroup(String groupname, String username)` Remove a user from a group

  Methods inherited from interface javax.ejb.EJBObject
  `getEJBHome, getHandle, getPrimaryKey, isIdentical, remove`

  Method Detail

  ### getGroupProfile

      public ProfileWrapper getGroupProfile(String name)
                                     throws RemoteException

    Parameters:
      `name` - the name of the group to access
    Returns:
      the GroupProfileManager
      `RemoteException`

  ### getGroupProfileManager

      public ProfileManager getGroupProfileManager(String name)
                                            throws RemoteException

    Returns a profile manager that can be used to access a group's profile. If the requested group exists in the realm but does not have a profile yet, a new profile will be created at this time. Right now all groups use the same profile manager, but this method is meant to leave the option for this to change in the future (similar to profile types for users).

    Parameters:
      `name` - the name of the group to access
    Returns:
      the GroupProfileManager
      `RemoteException`

  ### groupExists

      public boolean groupExists(String name)
                          throws RemoteException

    Determines if a group exists. This method simply checks all providers for a group with the given name.

    Parameters:
      `name` - the group name to check
    Returns:
      true if the group exists, false otherwise
      `RemoteException`

  ### createGroup

      public ProfileWrapper createGroup(String name)
                                 throws RemoteException,
                                        GroupAlreadyExistsException,
                                        InvalidGroupnameException

    Throws:
      `GroupAlreadyExistsException` - if the group already exists
      `InvalidGroupnameException` - if the group name is invalid
      `RemoteException`

  ### isDeletableGroup

      public boolean isDeletableGroup(String name)
                               throws RemoteException

    Determine if a group can be deleted.

    Returns:
      false if the group name given is protected by the system in any way
      `RemoteException`

  ### removeGroup

      public void removeGroup(String name)
                       throws RemoteException,
                              InvalidGroupnameException

    Remove a group. This will remove the group from both the realm and the profile tables.

    Throws:
      `InvalidGroupnameException` - if the group is protected and cannot be deleted
      `RemoteException`

  ### addUserToGroup

      public void addUserToGroup(String groupname,
                                 String username)
                          throws RemoteException

    Add a user to a group.

    Parameters:
      `groupname` - the name of the group to modify
      `username` - the name of the user to add
      `RemoteException`

  ### removeUserFromGroup

      public void removeUserFromGroup(String groupname,
                                      String username)
                               throws RemoteException

    Remove a user from a group

    Parameters:
      `groupname` - the name of the group to modify
      `username` - the name of the user to remove
      `RemoteException`

  ### addGroupToGroup

      public void addGroupToGroup(String parentGroup,
                                  String childGroup)
                           throws RemoteException

    Add a child group to a group

    Parameters:
      `parentGroup` - the name of the group to modify
      `childGroup` - the name of the group to add
      `RemoteException`

  ### removeGroupFromGroup

      public void removeGroupFromGroup(String parentGroup,
                                       String childGroup)
                                throws RemoteException

    Remove a child group from a group

    Parameters:
      `parentGroup` - the name of the group to modify
      `childGroup` - the name of the group to remove
      `RemoteException`

  ### getTopLevelGroupNames

      public List getTopLevelGroupNames()
                                 throws RemoteException

    Retrieve a list of groups that do not have parent groups. This will not return the built-in WLS "everyone" or "users" groups.

      `RemoteException`

  ### getAllGroupNames

      public List getAllGroupNames()
                            throws RemoteException

    Retrieve a list of all groups in the system.

      `RemoteException`

  ### getGroupNamesForUser

      public List getGroupNamesForUser(String username)
                                throws RemoteException

    Retrieve a list of all groups that a user belongs to.

    Parameters:
      `username` - the user to query
      `RemoteException`

  ### getUsernamesForGroup

      public List getUsernamesForGroup(String groupname)
                                throws RemoteException

    Retrieve a list of all users in a group.

    Parameters:
      `groupname` - the group to query
      `RemoteException`

  ### getUsernamesForGroup

      public List getUsernamesForGroup(String groupname,
                                       String searchExpression,
                                       int limit)
                                throws RemoteException

    Retrieve a list of users in a group, matching the provided wildcard expression

    Parameters:
      `groupname` - the group to query
      `searchExpression` - a wildcard expression to match
      `limit` - the maximum number of results to return
    Returns:
      a List of usernames that are in this group
      `RemoteException`

  ### getChildGroupNames

      public List getChildGroupNames(String groupname)
                              throws RemoteException

    Retrieve a list of all children of a group.

    Parameters:
      `groupname` - the group to query
      `RemoteException`

  ### getParentGroupName

      public String getParentGroupName(String groupname)
                                throws RemoteException

    Retrieve the parent of a group. Assumes that a group will only have one parent, as enforced by the GroupManager. If your realm has groups with more than one parent, the first one encountered will be returned.

    Parameters:
      `groupname` - the group to query
      `RemoteException`

  ### isDescendent

      public boolean isDescendent(String ancestor,
                                  String descendent)
                           throws RemoteException

    Determine if one group is a descendent of another.

    Parameters:
      `ancestor` - see if the other group is a descendent of this group
      `descendent` - see if this is a descendent of the other group
      `RemoteException`

  ### isMember

      public boolean isMember(String groupname,
                              String username)
                       throws RemoteException

    Determine if a user is a member of a group.

    Parameters:
      `groupname` - the group to query
      `username` - the user to look for
      `RemoteException`

  Overview | Package | Class | Tree | Deprecated | Index | Help
  | © 2003 BEA Systems, Inc.
  PREV CLASS NEXT CLASS | FRAMES NO FRAMES
  SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

  Copyright © 2003 BEA Systems, Inc. All Rights Reserved