Interface GroupActionStrategy

All Known Implementing Classes:
AbstractGroupActionStrategy, DefaultGroupActionStrategy, ExternalIdCheckingGroupActionStrategy

public interface GroupActionStrategy
A handler for deciding what action to perform on a group fetched from a remote directory during the synchronisation process
  • Method Details

    • decide

      DirectoryCacheChangeOperations.GroupsToAddUpdateReplace decide(@Nullable InternalDirectoryGroup groupMatchedByName, @Nullable InternalDirectoryGroup groupMatchedByExternalId, Group remoteGroup, Date syncStartDate, long directoryId) throws OperationFailedException
      Parameters:
      groupMatchedByName - the group matched by name from the internal directory or null if the group isn't present yet
      groupMatchedByExternalId - the group matched by external id from the internal directory or null if there were no matches, only applicable for directories supporting special handling for groups with external ids
      remoteGroup - the group from the remote directory
      syncStartDate - the date at which the synchronisation was started, used to check for local modifications after sync start
      directoryId - the id of the remote directory
      Returns:
      an object containing collections related to different types of handling new groups, one of which may contain the remote group if it should be handled
      Throws:
      OperationFailedException - if the group can't be correctly handled