com.atlassian.crowd.service.cache
Class CachingGroupManager

java.lang.Object
  extended by com.atlassian.crowd.service.cache.CachingGroupManager
All Implemented Interfaces:
GroupManager

public class CachingGroupManager
extends Object
implements GroupManager

Handles group names & groups themselves.


Constructor Summary
CachingGroupManager(SecurityServerClient securityServerClient, BasicCache basicCache)
           
 
Method Summary
 SOAPGroup addGroup(SOAPGroup group)
          Adds group to the Crowd server.
 List getAllGroupNames()
          Returns a list of all available groups.
 SOAPGroup getGroup(String groupName)
          See also CachingGroupMembershipManager.getMembers(String)} for similar logic.
 boolean isGroup(String groupName)
          Returns true if groupName represents a valid group, false otherwise.
 void removeGroup(String groupName)
          Removes a group from Crowd.
 List searchGroups(SearchRestriction[] restrictions)
          Searches the list of all available groups based on the passed-in restrictions and returns a list of groups that match.
 void updateGroup(SOAPGroup group)
          Updates a group's details in Crowd.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CachingGroupManager

public CachingGroupManager(SecurityServerClient securityServerClient,
                           BasicCache basicCache)
Method Detail

isGroup

public boolean isGroup(String groupName)
                throws RemoteException,
                       InvalidAuthorizationTokenException,
                       InvalidAuthenticationException
Description copied from interface: GroupManager
Returns true if groupName represents a valid group, false otherwise.

Specified by:
isGroup in interface GroupManager
Parameters:
groupName - The name to check
Returns:
true if it's a group, false otherwise
Throws:
RemoteException - A communication error occurred - the Crowd server may not be available.
InvalidAuthorizationTokenException - The application (not the user) was not authenticated correctly.
InvalidAuthenticationException - application authentication is not valid

getGroup

public SOAPGroup getGroup(String groupName)
                   throws RemoteException,
                          InvalidAuthorizationTokenException,
                          InvalidAuthenticationException,
                          GroupNotFoundException
See also CachingGroupMembershipManager.getMembers(String)} for similar logic.

Specified by:
getGroup in interface GroupManager
Parameters:
groupName - The name of the group to fetch
Returns:
An object representing the group, or null if it does not exist
Throws:
RemoteException - A communication error occurred - the Crowd server may not be available.
InvalidAuthorizationTokenException - The application (not the user) was not authenticated correctly.
InvalidAuthenticationException - application authentication is not valid
GroupNotFoundException - The group could not be found.

addGroup

public SOAPGroup addGroup(SOAPGroup group)
                   throws RemoteException,
                          InvalidGroupException,
                          InvalidAuthorizationTokenException,
                          ApplicationPermissionException,
                          InvalidAuthenticationException
Description copied from interface: GroupManager
Adds group to the Crowd server.

Specified by:
addGroup in interface GroupManager
Parameters:
group - The object containing the details of the group.
Returns:
The SOAPGroup, as returned by the Crowd server.
Throws:
RemoteException - A communication error occurred - the Crowd server may not be available.
InvalidGroupException - Could not add the group - it may be malformed, or a group with that name may already exist.
InvalidAuthorizationTokenException - The application (not the user) was not authenticated correctly.
ApplicationPermissionException - The application does not have permission to add groups.
InvalidAuthenticationException - application authentication is not valid

searchGroups

public List searchGroups(SearchRestriction[] restrictions)
                  throws RemoteException,
                         InvalidAuthorizationTokenException,
                         InvalidAuthenticationException
Description copied from interface: GroupManager
Searches the list of all available groups based on the passed-in restrictions and returns a list of groups that match.

Specified by:
searchGroups in interface GroupManager
Parameters:
restrictions - search restrictions
Returns:
A List of SOAPGroups that match the criteria.
Throws:
RemoteException - A communication error occurred - the Crowd server may not be available.
InvalidAuthorizationTokenException - The application (not the user) was not authenticated correctly.
InvalidAuthenticationException - application authentication is not valid

updateGroup

public void updateGroup(SOAPGroup group)
                 throws RemoteException,
                        ApplicationPermissionException,
                        InvalidAuthorizationTokenException,
                        InvalidAuthenticationException,
                        GroupNotFoundException
Description copied from interface: GroupManager
Updates a group's details in Crowd.

Specified by:
updateGroup in interface GroupManager
Parameters:
group - The group to update
Throws:
RemoteException - A communication error occurred - the Crowd server may not be available.
ApplicationPermissionException - The application does not have permission to update groups.
InvalidAuthorizationTokenException - The application (not the user) was not authenticated correctly.
InvalidAuthenticationException - application authentication is not valid
GroupNotFoundException - The group to update could not be found.

removeGroup

public void removeGroup(String groupName)
                 throws RemoteException,
                        InvalidAuthorizationTokenException,
                        ApplicationPermissionException,
                        InvalidAuthenticationException,
                        GroupNotFoundException
Description copied from interface: GroupManager
Removes a group from Crowd.

Specified by:
removeGroup in interface GroupManager
Parameters:
groupName - The name of the group to remove.
Throws:
RemoteException - A communication error occurred - the Crowd server may not be available.
InvalidAuthorizationTokenException - The application (not the user) was not authenticated correctly.
ApplicationPermissionException - The application does not have permission to remove groups.
InvalidAuthenticationException - application authentication is not valid
GroupNotFoundException - The group to remove could not be found.

getAllGroupNames

public List getAllGroupNames()
                      throws RemoteException,
                             InvalidAuthorizationTokenException,
                             InvalidAuthenticationException
Description copied from interface: GroupManager
Returns a list of all available groups. We recommend against use of this method; depending on the environment, it may prevent your app from scaling. Some large organisations build very complex group processioning structures, with total group numbers in the tens of thousands.

Specified by:
getAllGroupNames in interface GroupManager
Returns:
A List of Strings that list all the groups visible to this application.
Throws:
RemoteException - A communication error occurred - the Crowd server may not be available.
InvalidAuthorizationTokenException - The application (not the user) was not authenticated correctly.
InvalidAuthenticationException - application authentication is not valid


Copyright © 2012 Atlassian. All Rights Reserved.