java.lang.Object
com.atlassian.crowd.directory.synchronisation.cache.GroupUserCache

public class GroupUserCache extends Object
Cache of retrieved LDAP group/user details.

This cache is used for a single synchronisation (full or incremental). It does not need to support concurrent access or usage by multiple threads.

Since:
5.3
  • Constructor Details

  • Method Details

    • createEmptyCache

      public static GroupUserCache createEmptyCache()
    • getGroupWithUserMembership

      public Optional<LDAPGroupWithAttributes> getGroupWithUserMembership(CrowdLdapName groupDn)
    • getUsersByUserGroupMembership

      @Nullable public Iterable<CrowdLdapName> getUsersByUserGroupMembership(CrowdLdapName groupDn)
      Cache-based equivalent of RFC459Directory.getUsersByUserGroupMembershipAttributeFilter().

      For a directory whose users contain group membership details (i.e. isUsingUserMembershipAttribute()), find the members of the group by using the memberOf attribute on each user.

      Returns:
      null if the details cannot be obtained from the cache. Otherwise, a non-null (possibly empty) collection.
    • findUserMembersNamesOfGroupViaPrimaryGroupId

      @Nullable public Iterable<CrowdLdapName> findUserMembersNamesOfGroupViaPrimaryGroupId(String primaryGroupRid)
      Cache-based equivalent of MicrosoftActiveDirectory.findUserMembersNamesOfGroupViaPrimaryGroupId().

      Find the names of all users that have a certain group (identified by its RID) as their primary group.

      Returns:
      null if the details cannot be obtained from the cache. Otherwise, a non-null (possibly empty) collection.