java.lang.Object
de.hybris.platform.order.strategies.calculation.pdt.postmatcher.impl.DefaultPriceValuePostMatcher
de.hybris.platform.order.strategies.calculation.pdt.postmatcher.impl.DefaultPriceInfoPostMatcher
All Implemented Interfaces:
PDTPostMatcher<PriceValueInfoCriteria,PriceRowModel>

public class DefaultPriceInfoPostMatcher extends DefaultPriceValuePostMatcher
  • Constructor Details

    • DefaultPriceInfoPostMatcher

      public DefaultPriceInfoPostMatcher()
  • Method Details

    • process

      Description copied from interface: PDTPostMatcher
      Process the custom post matcher logic.
      Specified by:
      process in interface PDTPostMatcher<PriceValueInfoCriteria,PriceRowModel>
      Overrides:
      process in class DefaultPriceValuePostMatcher
      Parameters:
      models - the collection of price/discount/tax models
      criteria - the price/discount/tax criteria
      Returns:
      the processed price/discount/tax models collection
      Throws:
      CalculationException - the calculation exception
    • filterPriceRows

      protected List<PriceRowModel> filterPriceRows(Collection<PriceRowModel> priceRows)
      Removes price rows from set of matching rows if they will never be applicable. This may be the case if two rows have different match values (e.g. product only vs. user+product) but same unit and minimum quantity - only the better matching will ever apply so we omit the second one. We expect the price rows ordered as follows:
      • unit - order unimportant
      • minimum quantity - ascending
      • match value - greatest at top
      • currency - requested currency on top ; only if requested currency is not base currency )
      • net - requested net state is on top
      • date range - non-null date ranges at top
    • setRetrieveChannelStrategy

      public void setRetrieveChannelStrategy(RetrieveChannelStrategy retrieveChannelStrategy)