Interface MembershipSearchStrategy
- All Known Implementing Classes:
AbstractInMemoryMembershipSearchStrategy
,InMemoryAggregatingMembershipSearchStrategy
,InMemoryNonAggregatingMembershipSearchStrategy
,NoDirectorySearchStrategy
A strategy is resolved using a SearchStrategyFactory
and can be optimised for specific configurations of
directory.
- See Also:
-
Method Summary
Modifier and TypeMethodDescription<T> List<T>
Searches for direct group relationships in any of the application's active assigned directories.<T> com.google.common.collect.ListMultimap<String,
T> Searches for direct group relationships in any of the application's active assigned directories.<T> List<T>
Searches for direct and indirect (nested) group relationships in any of the application's active assigned directories.
-
Method Details
-
searchDirectGroupRelationships
Searches for direct group relationships in any of the application's active assigned directories.When searching for the groups an entity is a member of, the
membership aggregation semantic
will determine whether only the owning directory (whenfalse
) or all directories (whentrue
) will be searched. -
searchNestedGroupRelationships
Searches for direct and indirect (nested) group relationships in any of the application's active assigned directories.If the directory does not support nested groups, this call will be equivalent to
DirectoryManager.searchDirectGroupRelationships(long, com.atlassian.crowd.search.query.membership.MembershipQuery)
.WARNING: this method could be very slow if the underlying RemoteDirectory does not employ caching.
When searching for the groups a user is a member of only the directory of the user (as determined by findUserByName) is searched. When searching for memberships of a group or groups a group is a member of all directories are searched and the results amalgamated.
-
searchDirectGroupRelationshipsGroupedByName
<T> com.google.common.collect.ListMultimap<String,T> searchDirectGroupRelationshipsGroupedByName(MembershipQuery<T> query) Searches for direct group relationships in any of the application's active assigned directories.When searching for the groups an entity is a member of, the
membership aggregation semantic
will determine whether only the owning directory (whenfalse
) or all directories (whentrue
) will be searched.- Parameters:
query
- membership query.- Returns:
ListMultimap
where keys are elements ofMembershipQuery.getEntityNamesToMatch()
and values are List ofUser
entities,Group
entities,String
usernames orString
group names matching the query criteria for the given key.
-