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
See Also:
  • Method Details

    • createMembershipSearchStrategy

      MembershipSearchStrategy createMembershipSearchStrategy(boolean aggregateMemberships, List<Directory> directories, CanonicalityChecker canonicalityChecker, AccessFilter accessFilter)
      Attempts to create a MembershipSearchStrategy for the specified isMembershipAggregationEnabled and associated directories.

      If the factory cannot create a MembershipSearchStrategy for the specified membership aggregation or directory configuration Optional.empty() will be returned

      Parameters:
      aggregateMemberships - whether membership aggregation is enabled
      directories - the collection of directories to search
      Returns:
      a MembershipSearchStrategy for the application and directories or Optional.empty()
    • createUserSearchStrategy

      UserSearchStrategy createUserSearchStrategy(boolean mergeUsers, List<Directory> directories, AccessFilter accessFilter)
      Attempts to create a UserSearchStrategy for the specified mergeUsers and associated directories.

      If the factory cannot create a UserSearchStrategy for the specified membership aggregation or directory configuration Optional.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 by directories order.
      directories - the collection of directories to search
      Returns:
      a UserSearchStrategy for the application and directories or Optional.empty()
    • createGroupSearchStrategy

      GroupSearchStrategy createGroupSearchStrategy(boolean mergeGroups, List<Directory> directories, AccessFilter accessFilter)
      Attempts to create a GroupSearchStrategy for the specified mergeGroups and associated directories.

      If the factory cannot create a GroupSearchStrategy for the specified membership aggregation or directory configuration Optional.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 by directories order.
      directories - the collection of directories to search
      Returns:
      a GroupSearchStrategy for the application and directories or Optional.empty()