public class InMemoryEntitySearchStrategy extends Object implements UserSearchStrategy, GroupSearchStrategy
UserSearchStrategy
and GroupSearchStrategy
implementation which merges results in-memory.
This class will search across multiple directories, potentially consuming a lot of memory. This is the same (in spirit) as what Crowd 2.8 and earlier would do by default.
Modifier and Type | Field and Description |
---|---|
protected List<Directory> |
directories |
protected DirectoryManagerSearchWrapper |
directoryManagerSearchWrapper |
Constructor and Description |
---|
InMemoryEntitySearchStrategy(DirectoryManager directoryManager,
List<Directory> directories,
boolean mergeEntities,
AccessFilter accessFilter) |
Modifier and Type | Method and Description |
---|---|
<T> PagedSearcher<T> |
createPagedGroupSearcher(EntityQuery<T> query) |
<T> PagedSearcher<T> |
createPagedUserSearcher(EntityQuery<T> query) |
protected <T> List<T> |
search(EntityQuery<T> query) |
<T> List<T> |
searchGroups(EntityQuery<T> query)
Returns a
List<Group> or List<String> groupnames matching the search criteria defined in the query. |
<T> List<T> |
searchUsers(EntityQuery<T> query)
Returns a
List<User> or List<String> matching the search criteria defined in the query. |
protected final DirectoryManagerSearchWrapper directoryManagerSearchWrapper
public InMemoryEntitySearchStrategy(DirectoryManager directoryManager, List<Directory> directories, boolean mergeEntities, AccessFilter accessFilter)
public <T> List<T> searchUsers(EntityQuery<T> query)
UserSearchStrategy
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).
searchUsers
in interface UserSearchStrategy
query
- the search query.List<User>
user objects or List<String>
usernames, depending on the query.public <T> List<T> searchGroups(EntityQuery<T> query)
GroupSearchStrategy
List<Group>
or List<String>
groupnames matching the search criteria defined in the query.
The groups will be returned in a stable order including across pagination boundaries (excluding modification).
searchGroups
in interface GroupSearchStrategy
query
- the search query.List<Group>
group objects or List<String>
groupnames, depending on the query.protected <T> List<T> search(EntityQuery<T> query)
public <T> PagedSearcher<T> createPagedUserSearcher(EntityQuery<T> query) throws PagingNotSupportedException
createPagedUserSearcher
in interface UserSearchStrategy
PagingNotSupportedException
ApplicationService.createPagedUserSearcher(Application, EntityQuery)
public <T> PagedSearcher<T> createPagedGroupSearcher(EntityQuery<T> query) throws PagingNotSupportedException
createPagedGroupSearcher
in interface GroupSearchStrategy
PagingNotSupportedException
ApplicationService.createPagedGroupSearcher(Application, EntityQuery)
Copyright © 2024 Atlassian. All rights reserved.