atg.commerce.pricing
Class Qualifier

java.lang.Object
  extended by atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
      extended by atg.nucleus.GenericService
          extended by atg.commerce.pricing.Qualifier
All Implemented Interfaces:
PromotionQualifyingFilter, atg.naming.AbsoluteNameable, NameContextBindingListener, NameContextElement, atg.naming.NameContextParentable, NameResolver, AdminableService, atg.nucleus.Configured, ApplicationLogging, atg.nucleus.logging.ApplicationLoggingSender, atg.nucleus.logging.TraceApplicationLogging, VariableArgumentApplicationLogging, ComponentNameResolver, Service, ServiceListener, java.util.EventListener

public class Qualifier
extends GenericService
implements PromotionQualifyingFilter

A Helper class for discount calculators. Calculators call their helper method in this class to determine to which items they should apply their discount. As a side effect, the Qualifier also keeps track of which items acted as qualifiers for the input promotion, if applicable, and marks their priceInfos as appropriate.

This class can be extended. New "findQualifyingX" methods can be added to act as helper methods to new kinds of PricingCalculator. Any calculator that needs a rule to determine whether to apply a discount might use the Qualifier class.

By default, the Qualifier evaluates rules written in PMDL (Pricing Model Description Language). evaluateQualifier and evaluateTarget evaluate the qualifier and target elements of PMDL respectively. The evaluateQualfier and evaluateTarget methods are protected and are available to be extended.

There are a number of properties that can be configured to adjust the way in which CommerceItems are allowed to participate in pricing rule evaluation. There are two rules which make up a PMDL rule: the qualifier rule and target rule. Accordingly, there two categories of filter property: filterForQualifier and filterForTarget.

In all of the properties listed below, a value of true indicates that items with the specified attributes should be excluded from the qualification process.

Qualifier filters:

Target filters: