Interface CoverageCalculationService

All Known Implementing Classes:
DefaultCoverageCalculationService

public interface CoverageCalculationService
This service provides functionality to calculate the state of an item in terms of data coverage. An item (e.g. Product) with lot of unfilled important attributes has low coverage. An item with all important attributes filled with correct data has high coverage. How this coverage information is calculated, which attributes are taking into account and if semantic of the data is considered as well is up to the implementation.
  • Method Details

    • calculate

      CoverageInfo calculate(ItemModel item, String domainId)
      Calculates the coverage of the given item. The domainId can by used to distinguish between multiple coverage calculation strategies per domain (e.g. text translation coverage, print related coverage etc.)
      Parameters:
      item - the item to calculate the coverage for
      domainId - the domain Id if applicable
      Returns:
      the CoverageInfo object with cumulated coverage information or null if no strategy was registered for given item and domain ID
    • calculate

      CoverageInfo calculate(ItemModel item, String templateCode, String domainId)
      Calculates the coverage of the given item. The domainId can by used to distinguish between multiple coverage calculation strategies per domain (e.g. text translation coverage, print related coverage etc.)
      Parameters:
      item - the item to calculate the coverage for
      templateCode - the item template to be used for finding the proper calculation strategy
      domainId - the domain Id if applicable
      Returns:
      the CoverageInfo object with cumulated coverage information or null if no strategy was registered for given item and domain ID