com.atlassian.crowd.directory.ldap.cache
Interface DirectoryCache

All Known Implementing Classes:
DirectoryCacheImplUsingChangeOperations

public interface DirectoryCache

A cache of users, groups and memberships for an external Directory. The CacheRefresher passes the updated data to this interface for caching.

See Also:
UsnChangedCacheRefresher

Method Summary
 void addGroupToGroup(String childGroup, String parentGroup)
           
 void addOrUpdateCachedGroup(Group group)
           
 void addOrUpdateCachedGroups(List<? extends Group> groups, Date syncStartDate)
           
 void addOrUpdateCachedUser(User user)
           
 void addOrUpdateCachedUsers(List<? extends User> users, Date syncStartDate)
          Synchronises a list of Users from an external directory in the local cache.
 void addUserToGroup(String username, String groupName)
           
 void deleteCachedGroup(String groupName)
           
 void deleteCachedGroups(Set<String> groupnames)
           
 void deleteCachedGroupsNotIn(GroupType groupType, List<? extends Group> ldapGroups, Date syncStartDate)
           
 void deleteCachedUser(String username)
           
 void deleteCachedUsers(Set<String> usernames)
           
 void deleteCachedUsersNotIn(List<? extends User> users, Date syncStartDate)
           
 void removeGroupFromGroup(String childGroup, String parentGroup)
           
 void removeUserFromGroup(String username, String groupName)
           
 void syncGroupMembersForGroup(Group ldapGroup, Collection<String> groups)
           
 void syncGroupMembershipsAndMembersForGroup(String groupName, Set<String> parentGroupNames, Set<String> childGroupNames)
           
 void syncGroupMembershipsForUser(String childUsername, Set<String> parentGroupNames)
           
 void syncUserMembersForGroup(Group ldapGroup, Collection<String> remoteUsers)
           
 

Method Detail

addOrUpdateCachedUsers

void addOrUpdateCachedUsers(List<? extends User> users,
                            Date syncStartDate)
                            throws OperationFailedException
Synchronises a list of Users from an external directory in the local cache.

If the syncStartDate is not null, then it is used to ensure we don't re-introduce stale data if a User is updated locally after we did our search. Some callers may intentionally choose to pass null - eg when UsnChangedCacheRefresher does a partial synchronise.

Parameters:
users - A list of Users from the external directory.
syncStartDate - The date that the synchronise started (can be null).
Throws:
OperationFailedException - If the Internal Directory throws a OperationFailedException - which seems unlikely.

deleteCachedUsersNotIn

void deleteCachedUsersNotIn(List<? extends User> users,
                            Date syncStartDate)
                            throws OperationFailedException
Throws:
OperationFailedException

deleteCachedUsers

void deleteCachedUsers(Set<String> usernames)
                       throws OperationFailedException
Throws:
OperationFailedException

addOrUpdateCachedGroups

void addOrUpdateCachedGroups(List<? extends Group> groups,
                             Date syncStartDate)
                             throws OperationFailedException
Throws:
OperationFailedException

deleteCachedGroupsNotIn

void deleteCachedGroupsNotIn(GroupType groupType,
                             List<? extends Group> ldapGroups,
                             Date syncStartDate)
                             throws OperationFailedException
Throws:
OperationFailedException

deleteCachedGroups

void deleteCachedGroups(Set<String> groupnames)
                        throws OperationFailedException
Throws:
OperationFailedException

syncUserMembersForGroup

void syncUserMembersForGroup(Group ldapGroup,
                             Collection<String> remoteUsers)
                             throws OperationFailedException
Throws:
OperationFailedException

syncGroupMembersForGroup

void syncGroupMembersForGroup(Group ldapGroup,
                              Collection<String> groups)
                              throws OperationFailedException
Throws:
OperationFailedException

addOrUpdateCachedUser

void addOrUpdateCachedUser(User user)
                           throws OperationFailedException
Throws:
OperationFailedException

deleteCachedUser

void deleteCachedUser(String username)
                      throws OperationFailedException
Throws:
OperationFailedException

addOrUpdateCachedGroup

void addOrUpdateCachedGroup(Group group)
                            throws OperationFailedException
Throws:
OperationFailedException

deleteCachedGroup

void deleteCachedGroup(String groupName)
                       throws OperationFailedException
Throws:
OperationFailedException

addUserToGroup

void addUserToGroup(String username,
                    String groupName)
                    throws OperationFailedException
Throws:
OperationFailedException

removeUserFromGroup

void removeUserFromGroup(String username,
                         String groupName)
                         throws OperationFailedException
Throws:
OperationFailedException

addGroupToGroup

void addGroupToGroup(String childGroup,
                     String parentGroup)
                     throws OperationFailedException
Throws:
OperationFailedException

removeGroupFromGroup

void removeGroupFromGroup(String childGroup,
                          String parentGroup)
                          throws OperationFailedException
Throws:
OperationFailedException

syncGroupMembershipsForUser

void syncGroupMembershipsForUser(String childUsername,
                                 Set<String> parentGroupNames)
                                 throws OperationFailedException
Throws:
OperationFailedException

syncGroupMembershipsAndMembersForGroup

void syncGroupMembershipsAndMembersForGroup(String groupName,
                                            Set<String> parentGroupNames,
                                            Set<String> childGroupNames)
                                            throws OperationFailedException
Throws:
OperationFailedException


Copyright © 2012 Atlassian. All Rights Reserved.