com.atlassian.confluence.user.crowd
Class CachedCrowdMembershipDao

java.lang.Object
  extended by com.atlassian.confluence.user.crowd.CachedCrowdMembershipDao
All Implemented Interfaces:
com.atlassian.crowd.embedded.spi.MembershipDao

public final class CachedCrowdMembershipDao
extends java.lang.Object
implements com.atlassian.crowd.embedded.spi.MembershipDao

Caches membership information. Invalidation is done whenever any membership in the parent group changes.

Since:
3.5
See Also:
DefaultMembershipCache

Constructor Summary
CachedCrowdMembershipDao(com.atlassian.crowd.embedded.spi.MembershipDao delegate, MembershipCache stringCache, GroupMembershipCache parentGroupCache, GroupMembershipCache childGroupCache)
           
 
Method Summary
 com.atlassian.crowd.util.BatchResult<java.lang.String> addAllUsersToGroup(long directoryId, java.util.Collection<java.lang.String> userNames, java.lang.String groupName)
           
 void addGroupToGroup(long directoryId, java.lang.String childGroupName, java.lang.String parentGroupName)
           
 void addUserToGroup(long directoryId, java.lang.String userName, java.lang.String groupName)
           
static
<T> java.util.List<T>
constrainResults(java.util.List<T> results, int startIndex, int maxResults)
           
 boolean isGroupDirectMember(long directoryId, java.lang.String childGroup, java.lang.String parentGroupName)
           
 boolean isUserDirectMember(long directoryId, java.lang.String userName, java.lang.String groupName)
           
 void removeGroupFromGroup(long directoryId, java.lang.String childGroupName, java.lang.String parentGroupName)
           
 void removeUserFromGroup(long directoryId, java.lang.String userName, java.lang.String groupName)
           
<T> java.util.List<T>
search(long directoryId, com.atlassian.crowd.search.query.membership.MembershipQuery<T> query)
          This implementation uses the existing cached data for searches returning strings, and for searches returning Group objects when searching for Groups as well.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CachedCrowdMembershipDao

public CachedCrowdMembershipDao(com.atlassian.crowd.embedded.spi.MembershipDao delegate,
                                MembershipCache stringCache,
                                GroupMembershipCache parentGroupCache,
                                GroupMembershipCache childGroupCache)
Method Detail

isUserDirectMember

public boolean isUserDirectMember(long directoryId,
                                  java.lang.String userName,
                                  java.lang.String groupName)
Specified by:
isUserDirectMember in interface com.atlassian.crowd.embedded.spi.MembershipDao

isGroupDirectMember

public boolean isGroupDirectMember(long directoryId,
                                   java.lang.String childGroup,
                                   java.lang.String parentGroupName)
Specified by:
isGroupDirectMember in interface com.atlassian.crowd.embedded.spi.MembershipDao

addUserToGroup

public void addUserToGroup(long directoryId,
                           java.lang.String userName,
                           java.lang.String groupName)
                    throws com.atlassian.crowd.exception.UserNotFoundException,
                           com.atlassian.crowd.exception.GroupNotFoundException,
                           com.atlassian.crowd.exception.MembershipAlreadyExistsException
Specified by:
addUserToGroup in interface com.atlassian.crowd.embedded.spi.MembershipDao
Throws:
com.atlassian.crowd.exception.UserNotFoundException
com.atlassian.crowd.exception.GroupNotFoundException
com.atlassian.crowd.exception.MembershipAlreadyExistsException

addAllUsersToGroup

public com.atlassian.crowd.util.BatchResult<java.lang.String> addAllUsersToGroup(long directoryId,
                                                                                 java.util.Collection<java.lang.String> userNames,
                                                                                 java.lang.String groupName)
                                                                          throws com.atlassian.crowd.exception.GroupNotFoundException
Specified by:
addAllUsersToGroup in interface com.atlassian.crowd.embedded.spi.MembershipDao
Throws:
com.atlassian.crowd.exception.GroupNotFoundException

addGroupToGroup

public void addGroupToGroup(long directoryId,
                            java.lang.String childGroupName,
                            java.lang.String parentGroupName)
                     throws com.atlassian.crowd.exception.GroupNotFoundException,
                            com.atlassian.crowd.exception.MembershipAlreadyExistsException
Specified by:
addGroupToGroup in interface com.atlassian.crowd.embedded.spi.MembershipDao
Throws:
com.atlassian.crowd.exception.GroupNotFoundException
com.atlassian.crowd.exception.MembershipAlreadyExistsException

removeUserFromGroup

public void removeUserFromGroup(long directoryId,
                                java.lang.String userName,
                                java.lang.String groupName)
                         throws com.atlassian.crowd.exception.UserNotFoundException,
                                com.atlassian.crowd.exception.GroupNotFoundException,
                                com.atlassian.crowd.exception.MembershipNotFoundException
Specified by:
removeUserFromGroup in interface com.atlassian.crowd.embedded.spi.MembershipDao
Throws:
com.atlassian.crowd.exception.UserNotFoundException
com.atlassian.crowd.exception.GroupNotFoundException
com.atlassian.crowd.exception.MembershipNotFoundException

removeGroupFromGroup

public void removeGroupFromGroup(long directoryId,
                                 java.lang.String childGroupName,
                                 java.lang.String parentGroupName)
                          throws com.atlassian.crowd.exception.GroupNotFoundException,
                                 com.atlassian.crowd.exception.MembershipNotFoundException
Specified by:
removeGroupFromGroup in interface com.atlassian.crowd.embedded.spi.MembershipDao
Throws:
com.atlassian.crowd.exception.GroupNotFoundException
com.atlassian.crowd.exception.MembershipNotFoundException

search

public <T> java.util.List<T> search(long directoryId,
                                    com.atlassian.crowd.search.query.membership.MembershipQuery<T> query)
This implementation uses the existing cached data for searches returning strings, and for searches returning Group objects when searching for Groups as well. Missing results for these kinds of searches will also be cached. Any other searches will simply delegate to the underlying implementation.

Specified by:
search in interface com.atlassian.crowd.embedded.spi.MembershipDao

constrainResults

public static <T> java.util.List<T> constrainResults(java.util.List<T> results,
                                                     int startIndex,
                                                     int maxResults)


Copyright © 2003-2014 Atlassian. All Rights Reserved.