Class DefaultPriceInfoPostMatcher
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>
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected List<PriceRowModel>filterPriceRows(Collection<PriceRowModel> priceRows) Removes price rows from set of matching rows if they will never be applicable.process(Collection<PriceRowModel> models, PriceValueInfoCriteria criteria) Process the custom post matcher logic.voidsetRetrieveChannelStrategy(RetrieveChannelStrategy retrieveChannelStrategy) Methods inherited from class de.hybris.platform.order.strategies.calculation.pdt.postmatcher.impl.DefaultPriceValuePostMatcher
setCommonI18NService
-
Constructor Details
-
DefaultPriceInfoPostMatcher
public DefaultPriceInfoPostMatcher()
-
-
Method Details
-
process
public Collection<PriceRowModel> process(Collection<PriceRowModel> models, PriceValueInfoCriteria criteria) throws CalculationException Description copied from interface:PDTPostMatcherProcess the custom post matcher logic.- Specified by:
processin interfacePDTPostMatcher<PriceValueInfoCriteria,PriceRowModel> - Overrides:
processin classDefaultPriceValuePostMatcher- Parameters:
models- the collection of price/discount/tax modelscriteria- the price/discount/tax criteria- Returns:
- the processed price/discount/tax models collection
- Throws:
CalculationException- the calculation exception
-
filterPriceRows
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
-