Interface SearchStrategyFactory
- All Known Implementing Classes:
DefaultSearchStrategyFactory
public interface SearchStrategyFactory
A factory which may be able to create search strategies for a given list of active
directories
-
Method Summary
Modifier and TypeMethodDescriptioncreateGroupSearchStrategy
(boolean mergeGroups, List<Directory> directories, AccessFilter accessFilter) createMembershipSearchStrategy
(boolean aggregateMemberships, List<Directory> directories, CanonicalityChecker canonicalityChecker, AccessFilter accessFilter) Attempts to create aMembershipSearchStrategy
for the specifiedisMembershipAggregationEnabled
and associateddirectories
.createUserSearchStrategy
(boolean mergeUsers, List<Directory> directories, AccessFilter accessFilter)
-
Method Details
-
createMembershipSearchStrategy
MembershipSearchStrategy createMembershipSearchStrategy(boolean aggregateMemberships, List<Directory> directories, CanonicalityChecker canonicalityChecker, AccessFilter accessFilter) Attempts to create aMembershipSearchStrategy
for the specifiedisMembershipAggregationEnabled
and associateddirectories
.If the factory cannot create a
MembershipSearchStrategy
for the specified membership aggregation or directory configurationOptional.empty()
will be returned- Parameters:
aggregateMemberships
- whether membership aggregation is enableddirectories
- the collection of directories to search- Returns:
- a
MembershipSearchStrategy
for the application and directories orOptional.empty()
-
createUserSearchStrategy
UserSearchStrategy createUserSearchStrategy(boolean mergeUsers, List<Directory> directories, AccessFilter accessFilter) Attempts to create aUserSearchStrategy
for the specifiedmergeUsers
and associateddirectories
.If the factory cannot create a
UserSearchStrategy
for the specified membership aggregation or directory configurationOptional.empty()
will be returned- Parameters:
mergeUsers
- Whether users with the same name from different directories should be merged. Unmerged users with the same name will be returned in the order defined bydirectories
order.directories
- the collection of directories to search- Returns:
- a
UserSearchStrategy
for the application and directories orOptional.empty()
-
createGroupSearchStrategy
GroupSearchStrategy createGroupSearchStrategy(boolean mergeGroups, List<Directory> directories, AccessFilter accessFilter) Attempts to create aGroupSearchStrategy
for the specifiedmergeGroups
and associateddirectories
.If the factory cannot create a
GroupSearchStrategy
for the specified membership aggregation or directory configurationOptional.empty()
will be returned- Parameters:
mergeGroups
- Whether groups with the same name should be merged. Unmerged groups with the same name will be returned in the order defined bydirectories
order.directories
- the collection of directories to search- Returns:
- a
GroupSearchStrategy
for the application and directories orOptional.empty()
-