Package com.atlassian.crowd.directory
Interface MultiValuesQueriesSupport
- All Known Subinterfaces:
InternalRemoteDirectory
- All Known Implementing Classes:
AbstractInternalDirectory
,CachingDirectory
,DbCachingRemoteDirectory
,DelegatedAuthenticationDirectory
,InternalDirectory
,InternalDirectoryForDelegation
,MockMembershipSearcher
public interface MultiValuesQueriesSupport
Interface supporting searches with multiple values to match.
-
Method Summary
Modifier and TypeMethodDescription<T> List<T>
searchGroupRelationships
(MembershipQuery<T> query) Searches for membership information.Searches forgroups
that match the supplied query criteria.
-
Method Details
-
searchGroupRelationships
@Nonnull <T> List<T> searchGroupRelationships(MembershipQuery<T> query) throws OperationFailedException Searches for membership information. Similar toRemoteDirectory.searchGroupRelationships(MembershipQuery)
, but guarantees that multipleMembershipQuery.getEntityNamesToMatch()
are supported.- Parameters:
query
- query for memberships.- Returns:
- a List of Users or Groups or Strings depending on the query criteria. An empty List if there are no results. Results are ordered by entity name, case-insensitive.
- Throws:
OperationFailedException
- underlying directory implementation failed to execute the operation.IllegalArgumentException
- if the query is not a valid membership query
-
searchGroupRelationshipsGroupedByName
Searches forgroups
that match the supplied query criteria. This method is similar tosearchGroupRelationships(MembershipQuery)
, but it additionally groups results by elements ofMembershipQuery.getEntityNamesToMatch()
.- Parameters:
query
- EntityQuery for Entity.GROUP.- Returns:
Map<String, List<T>>
of groups/groupnames matching the search criteria, grouped byMembershipQuery.getEntityNamesToMatch()
. Results are ordered by entity name, case-insensitive. An empty
will be returned if no groups matching the criteria are found.Map
- Throws:
OperationFailedException
- if the underlying directory implementation failed to execute the operationIllegalArgumentException
- if the query is not a valid group query
-