public class ClosenessQualifierEvaluator extends GenericService
The ClosenessQualifierEvaluators check to see if an order or item is close to qualifying for a given promotion under the "closenessQualifiers" of the promotion. If the order or item qualifies as close, information is added to the given PriceInfo object to indicate that the promotion is close, and a PromotionClosenessQualification event is fired.
If the PriceInfo of the item or order contains a closenessQualifier that it no longer satisfies, a PromotionClosenessDisqualification event is fired.
Properties:
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
CLASS_VERSION
Class version string
|
protected static java.util.ResourceBundle |
sResourceBundle
Resource Bundle
|
static int |
TYPE_ITEM |
static int |
TYPE_ORDER |
static int |
TYPE_SHIPPING |
SERVICE_INFO_KEY
DEFAULT_LOG_TRACE_STATUS
DEFAULT_LOG_DEBUG_STATUS, DEFAULT_LOG_ERROR_STATUS, DEFAULT_LOG_INFO_STATUS, DEFAULT_LOG_WARNING_STATUS
Constructor and Description |
---|
ClosenessQualifierEvaluator() |
Modifier and Type | Method and Description |
---|---|
protected void |
addClosenessQualifierToPriceInfo(AmountInfo pPriceInfo,
RepositoryItem pClosenessQualifier)
Adds the given closenessQualifier to the given priceInfo
|
protected void |
buildPromotionAnalysisInformation(RepositoryItem pPricingModel,
RepositoryItem pClosenessQualifier,
java.util.Map pExtraParameters)
Helper method used to add closeness qualifier details to a list, which is used when gathering
promotion analysis information.
|
protected void |
checkForNullParameters(AmountInfo pPriceInfo,
RepositoryItem pPricingModel,
java.lang.Object pCommerceObject,
java.lang.String pResource)
Throws a PricingException if the pPriceInfo, pPricingModel, or pCommerceObject
parameters are null.
|
protected void |
checkForNullParameters(java.lang.Object pPriceInfo,
RepositoryItem pPricingModel,
java.lang.Object pCommerceObject,
java.lang.String pResource)
Throws a PricingException if the pPriceInfo, pPricingModel, or pCommerceObject
parameters are null.
|
protected java.util.List |
getPriceQuotes(java.util.List pCommerceItems)
Returns a list of PriceInfo objects associated with the
given commerce items.
|
java.util.Comparator |
getPricingModelComparator() |
PricingModelProperties |
getPricingModelProperties() |
Qualifier |
getQualifierService() |
protected boolean |
isUpsellable(RepositoryItem pPricingModel)
Returns the value of the "upsell" property of the pricingModel
|
void |
setPricingModelComparator(java.util.Comparator pPricingModelComparator)
Sets the component that sorts the closenessQualifiers based on their priority
|
void |
setPricingModelProperties(PricingModelProperties pPricingModelProperties)
Sets the component that holds the names of the properties in the pricingModel
item descriptor
|
void |
setQualifierService(Qualifier pQualifierService)
Sets a component that does the pricing model qualification
|
addLogListener, createAdminServlet, doStartService, doStopService, getAbsoluteName, getAdminServlet, getAdminServletOutputStreamEncoding, getLoggingForVlogging, getLogListenerCount, getLogListeners, getName, getNameContext, getNucleus, getRoot, getServiceConfiguration, getServiceInfo, isAdminServletUseServletOutputStream, isLoggingDebug, isLoggingError, isLoggingInfo, isLoggingTrace, isLoggingWarning, isRunning, logDebug, logDebug, logDebug, logError, logError, logError, logInfo, logInfo, logInfo, logTrace, logTrace, logTrace, logWarning, logWarning, logWarning, nameContextElementBound, nameContextElementUnbound, removeLogListener, reResolveThis, resolveName, resolveName, resolveName, resolveName, sendLogEvent, setAdminServletOutputStreamEncoding, setAdminServletUseServletOutputStream, setLoggingDebug, setLoggingError, setLoggingInfo, setLoggingTrace, setLoggingWarning, setNucleus, setServiceInfo, startService, stopService
vlogDebug, vlogDebug, vlogDebug, vlogDebug, vlogDebugTrace, vlogError, vlogError, vlogError, vlogError, vlogInfo, vlogInfo, vlogInfo, vlogInfo, vlogTrace, vlogTrace, vlogTrace, vlogTrace, vlogWarning, vlogWarning, vlogWarning, vlogWarning
public static java.lang.String CLASS_VERSION
protected static java.util.ResourceBundle sResourceBundle
public static final int TYPE_ITEM
public static final int TYPE_SHIPPING
public static final int TYPE_ORDER
public void setPricingModelComparator(java.util.Comparator pPricingModelComparator)
pPricingModelComparator
- the component that sorts the closenessQualifiers
based on their prioritypublic java.util.Comparator getPricingModelComparator()
public void setPricingModelProperties(PricingModelProperties pPricingModelProperties)
pPricingModelProperties
- the component that holds the names of the
properties in the pricingModel item descriptorpublic PricingModelProperties getPricingModelProperties()
public void setQualifierService(Qualifier pQualifierService)
pQualifierService
- a component that does the pricing model qualificationpublic Qualifier getQualifierService()
protected void addClosenessQualifierToPriceInfo(AmountInfo pPriceInfo, RepositoryItem pClosenessQualifier)
pPriceInfo
- price infopClosenessQualifier
- a component that does the pricing model qualificationprotected void checkForNullParameters(AmountInfo pPriceInfo, RepositoryItem pPricingModel, java.lang.Object pCommerceObject, java.lang.String pResource) throws PricingException
pPriceInfo
- price infopPricingModel
- a pricing modelpCommerceObject
- a commerce objectpResource
- resourcePricingException
- if any of the parameters are nullprotected void checkForNullParameters(java.lang.Object pPriceInfo, RepositoryItem pPricingModel, java.lang.Object pCommerceObject, java.lang.String pResource) throws PricingException
pPriceInfo
- price infopPricingModel
- a pricing modelpCommerceObject
- a commerce objectpResource
- resourcePricingException
- if any of the parameters are nullprotected java.util.List getPriceQuotes(java.util.List pCommerceItems)
pCommerceItems
- a list of commerce itemsprotected boolean isUpsellable(RepositoryItem pPricingModel)
pPricingModel
- a pricing modelprotected void buildPromotionAnalysisInformation(RepositoryItem pPricingModel, RepositoryItem pClosenessQualifier, java.util.Map pExtraParameters)
pPricingModel
- a pricing modelpClosenessQualifier
- a closeness qualifierpExtraParameters
- A map of extra parameters