atg.commerce.pricing
Interface PromotionQualifyingFilter

All Known Implementing Classes:
Qualifier

public interface PromotionQualifyingFilter

Interface to allow custom filters for promotion qualifying. The Qualifier service is an example of a service that implements this interface.


Field Summary
static java.lang.String CLASS_VERSION
          Class version string
 
Method Summary
 void filterItems(int pFilterContext, PricingContext PricingContext, java.util.Map pExtraParameters, java.util.Map pDetailsPendingActingAsQualifier, java.util.Map pDetailsRangesToReceiveDiscount, java.util.List pFilteredItems)
          Implementations should ensure the pFilteredItems list contains the appropriate FilteredCommerceItem items.
 

Field Detail

CLASS_VERSION

static final java.lang.String CLASS_VERSION
Class version string

See Also:
Constant Field Values
Method Detail

filterItems

void filterItems(int pFilterContext,
                 PricingContext PricingContext,
                 java.util.Map pExtraParameters,
                 java.util.Map pDetailsPendingActingAsQualifier,
                 java.util.Map pDetailsRangesToReceiveDiscount,
                 java.util.List pFilteredItems)
                 throws PricingException
Implementations should ensure the pFilteredItems list contains the appropriate FilteredCommerceItem items. They are also responsible for updating each FilteredCommerceItem's quantity, detailsRangesValidForQualifier and detailsRangesValidForTarget properties.

This list will be empty initially and so usually the first filter will populate the list from the pricing context items (this is the default behaviour of the Qualifier service).

Subsequent filters need only then filter items out of this list.

Parameters:
pFilterContext - int context of the filtering, e.g. qualifier or target filtering
pPricingContext - PricingContext to filter with
pExtraParameters - Map of extra parameters
pDetailsPendingActingAsQualifier - the Ranges of various DetailedItemPriceInfos that are pending for qualifying this promotion.
pDetailsRangesToReceiveDiscount - the Ranges of various DetailedItemPriceInfos that are going to receive the discount
pFilteredItems - output param which represents the CommerceItems still valid for the filter context
Throws:
PricingException - for problems filtering.