public interface SearchStrategy
A strategy is resolved using a SearchStrategyFactory
and can be optimised for specific configurations of
directory.
SearchStrategyFactory
Modifier and Type | Method and Description |
---|---|
<T> List<T> |
searchDirectGroupRelationships(MembershipQuery<T> query)
Searches for direct group relationships in any of the application's active assigned directories.
|
<T> List<T> |
searchGroups(EntityQuery<T> query)
Returns a
List<Group> matching the search criteria defined in the query. |
<T> List<T> |
searchNestedGroupRelationships(MembershipQuery<T> query)
Searches for direct and indirect (nested) group relationships in any of the application's active assigned directories.
|
<T> List<T> |
searchUsers(EntityQuery<T> query)
Returns a
List<User> or List<String> matching the search criteria defined in the query. |
<T> List<T> searchUsers(EntityQuery<T> query)
List<User>
or List<String>
matching the search criteria defined in the query.
The users will be returned in a stable order including across pagination boundaries (excluding modification).
query
- the search query.List<User>
user objects or List<String>
usernames, depending on the query.<T> List<T> searchGroups(EntityQuery<T> query)
List<Group>
matching the search criteria defined in the query.
The groups will be returned in a stable order including across pagination boundaries (excluding modification).
query
- the search query.List<Group>
group objects or List<String>
groupnames, depending on the query.<T> List<T> searchDirectGroupRelationships(MembershipQuery<T> query)
When searching for the groups an entity is a member of,
the membership aggregation semantic
will determine whether only the owning directory (when false
) or all directories (when true
) will be searched.
<T> List<T> searchNestedGroupRelationships(MembershipQuery<T> query)
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.
Copyright © 2017 Atlassian. All rights reserved.