org.apache.jetspeed.services.security
Interface GroupManagement

All Superinterfaces:
org.apache.turbine.services.Initable, org.apache.turbine.services.Service
All Known Implementing Classes:
LDAPGroupManagement, NoGroupManagement, TurbineGroupManagement

public interface GroupManagement
extends org.apache.turbine.services.Service

The GroupManagement interface describes contract between the portal and security provider required for Jetspeed Group Management. This interface enables an application to be independent of the underlying group management technology.

Version:
$Id: GroupManagement.java,v 1.4 2004/02/23 03:58:11 jford Exp $
Author:
David Sean Taylor

Field Summary
static java.lang.String DEFAULT_GROUP_NAME
           
static java.lang.String SERVICE_NAME
           
 
Method Summary
 void addGroup(Group group)
          Adds a Group into permanent storage.
 Group getGroup(java.lang.String groupname)
          Retrieves a single Group for a given groupname principal.
 java.util.Iterator getGroups()
          Retrieves all Groups.
 java.util.Iterator getGroups(java.lang.String username)
          Retrieves all Groups for a given username principal.
 boolean inGroup(java.lang.String username, java.lang.String groupname)
          Checks for the relationship of user in a group.
 void joinGroup(java.lang.String username, java.lang.String groupname)
          Joins a user to a group.
 void joinGroup(java.lang.String username, java.lang.String groupname, java.lang.String rolename)
          Joins a user into a group with a specific role.
 void removeGroup(java.lang.String groupname)
          Removes a Group from the permanent store.
 void saveGroup(Group group)
          Saves a Group into permanent storage.
 void unjoinGroup(java.lang.String username, java.lang.String groupname)
          Unjoins a user from a group.
 void unjoinGroup(java.lang.String username, java.lang.String groupname, java.lang.String rolename)
          Unjoins a user from a group - specific role.
 
Methods inherited from interface org.apache.turbine.services.Service
getConfiguration, getName, getProperties, setName, setServiceBroker
 
Methods inherited from interface org.apache.turbine.services.Initable
getInit, init, init, setInitableBroker, shutdown
 

Field Detail

SERVICE_NAME

public static final java.lang.String SERVICE_NAME
See Also:
Constant Field Values

DEFAULT_GROUP_NAME

public static final java.lang.String DEFAULT_GROUP_NAME
See Also:
Constant Field Values
Method Detail

getGroups

public java.util.Iterator getGroups(java.lang.String username)
                             throws JetspeedSecurityException
Retrieves all Groups for a given username principal. The security service may optionally check the current user context to determine if the requestor has permission to perform this action.

Parameters:
username - a user principal identity to be retrieved.
Returns:
Iterator over all groups associated to the user principal.
Throws:
GroupException - when the security provider has a general failure.
InsufficientPrivilegeException - when the requestor is denied due to insufficient privilege
JetspeedSecurityException

getGroups

public java.util.Iterator getGroups()
                             throws JetspeedSecurityException
Retrieves all Groups. The security service may optionally check the current user context to determine if the requestor has permission to perform this action.

Returns:
Iterator over all groups.
Throws:
GroupException - when the security provider has a general failure.
InsufficientPrivilegeException - when the requestor is denied due to insufficient privilege
JetspeedSecurityException

addGroup

public void addGroup(Group group)
              throws JetspeedSecurityException
Adds a Group into permanent storage. The security service may optionally check the current user context to determine if the requestor has permission to perform this action.

Throws:
GroupException - when the security provider has a general failure.
InsufficientPrivilegeException - when the requestor is denied due to insufficient privilege
JetspeedSecurityException

saveGroup

public void saveGroup(Group group)
               throws JetspeedSecurityException
Saves a Group into permanent storage. The security service may optionally check the current user context to determine if the requestor has permission to perform this action.

Throws:
GroupException - when the security provider has a general failure.
InsufficientPrivilegeException - when the requestor is denied due to insufficient privilege
JetspeedSecurityException

removeGroup

public void removeGroup(java.lang.String groupname)
                 throws JetspeedSecurityException
Removes a Group from the permanent store. The security service may optionally check the current user context to determine if the requestor has permission to perform this action.

Parameters:
groupname - the principal identity of the group to be retrieved.
Throws:
GroupException - when the security provider has a general failure.
InsufficientPrivilegeException - when the requestor is denied due to insufficient privilege
JetspeedSecurityException

joinGroup

public void joinGroup(java.lang.String username,
                      java.lang.String groupname)
               throws JetspeedSecurityException
Joins a user to a group. The security service may optionally check the current user context to determine if the requestor has permission to perform this action.

Throws:
GroupException - when the security provider has a general failure retrieving groups.
InsufficientPrivilegeException - when the requestor is denied due to insufficient privilege
JetspeedSecurityException

joinGroup

public void joinGroup(java.lang.String username,
                      java.lang.String groupname,
                      java.lang.String rolename)
               throws JetspeedSecurityException
Joins a user into a group with a specific role. The security service may optionally check the current user context to determine if the requestor has permission to perform this action.

Throws:
GroupException - when the security provider has a general failure retrieving groups.
InsufficientPrivilegeException - when the requestor is denied due to insufficient privilege
JetspeedSecurityException

unjoinGroup

public void unjoinGroup(java.lang.String username,
                        java.lang.String groupname)
                 throws JetspeedSecurityException
Unjoins a user from a group. The security service may optionally check the current user context to determine if the requestor has permission to perform this action.

Throws:
GroupException - when the security provider has a general failure retrieving groups.
InsufficientPrivilegeException - when the requestor is denied due to insufficient privilege
JetspeedSecurityException

unjoinGroup

public void unjoinGroup(java.lang.String username,
                        java.lang.String groupname,
                        java.lang.String rolename)
                 throws JetspeedSecurityException
Unjoins a user from a group - specific role. The security service may optionally check the current user context to determine if the requestor has permission to perform this action.

Throws:
GroupException - when the security provider has a general failure retrieving groups.
InsufficientPrivilegeException - when the requestor is denied due to insufficient privilege
JetspeedSecurityException

inGroup

public boolean inGroup(java.lang.String username,
                       java.lang.String groupname)
                throws JetspeedSecurityException
Checks for the relationship of user in a group. Returns true when the user is in the given group. The security service may optionally check the current user context to determine if the requestor has permission to perform this action.

Throws:
GroupException - when the security provider has a general failure retrieving groups.
InsufficientPrivilegeException - when the requestor is denied due to insufficient privilege
JetspeedSecurityException

getGroup

public Group getGroup(java.lang.String groupname)
               throws JetspeedSecurityException
Retrieves a single Group for a given groupname principal. The security service may optionally check the current user context to determine if the requestor has permission to perform this action.

Parameters:
groupname - a group principal identity to be retrieved.
Returns:
Group the group record retrieved.
Throws:
GroupException - when the security provider has a general failure.
InsufficientPrivilegeException - when the requestor is denied due to insufficient privilege
JetspeedSecurityException


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