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 aMembershipSearchStrategyfor the specifiedisMembershipAggregationEnabledand 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 aMembershipSearchStrategyfor the specifiedisMembershipAggregationEnabledand associateddirectories.If the factory cannot create a
MembershipSearchStrategyfor 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
MembershipSearchStrategyfor the application and directories orOptional.empty()
-
createUserSearchStrategy
UserSearchStrategy createUserSearchStrategy(boolean mergeUsers, List<Directory> directories, AccessFilter accessFilter) Attempts to create aUserSearchStrategyfor the specifiedmergeUsersand associateddirectories.If the factory cannot create a
UserSearchStrategyfor 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 bydirectoriesorder.directories- the collection of directories to search- Returns:
- a
UserSearchStrategyfor the application and directories orOptional.empty()
-
createGroupSearchStrategy
GroupSearchStrategy createGroupSearchStrategy(boolean mergeGroups, List<Directory> directories, AccessFilter accessFilter) Attempts to create aGroupSearchStrategyfor the specifiedmergeGroupsand associateddirectories.If the factory cannot create a
GroupSearchStrategyfor 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 bydirectoriesorder.directories- the collection of directories to search- Returns:
- a
GroupSearchStrategyfor the application and directories orOptional.empty()
-