public class GWPDiscountCalculator extends ItemDiscountCalculator implements CalculatorInfoProvider
Modifier and Type | Class and Description |
---|---|
static class |
GWPDiscountCalculator.GWP_GIFT_TYPES |
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
AUTO_REMOVE_ATTRIBUTE |
static java.lang.String |
CLASS_VERSION
Class version string
|
static java.lang.String |
DISCOUNT_DETAIL_NAME |
static java.lang.String |
GIFT_DETAIL_ATTRIBUTE |
static java.lang.String |
GIFT_TYPE_ATTRIBUTE |
static java.lang.String |
GWP_CALCULATOR_TYPE |
static java.lang.String |
GWP_GIFT_TYPE_CATEGORY |
static java.lang.String |
GWP_GIFT_TYPE_PRODUCT |
static java.lang.String |
GWP_GIFT_TYPE_PRODUCT_CONTENT_GROUP |
static java.lang.String |
GWP_GIFT_TYPE_SKU |
static java.lang.String |
GWP_GIFT_TYPE_SKU_CONTENT_GROUP |
protected atg.commerce.promotion.GWPMarkerManager |
mGwpMarkerManager |
static java.lang.String |
QUANTITY_ATTRIBUTE |
EXTRA_PARAM_QUALIFIERSERVICE
AMOUNT_INCREASE_TYPE, AMOUNT_OFF_TYPE, FIXED_PRICE_TYPE, ILLEGAL_TYPE, mPromotionTools, PERCENT_OFF_TYPE
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 |
---|
GWPDiscountCalculator() |
Modifier and Type | Method and Description |
---|---|
protected double |
determineNextRangeMap(QualifiedItem pQualifiedItem,
long pQuantity,
double pQuantityWithFraction,
PricingContext pPricingContext,
java.util.Map pExtraParametersMap)
Updates the given qualified item detail map to apply the given quantity of discount.
|
protected long |
determineNextRangeMap(QualifiedItem pQualifiedItem,
long pQuantity,
PricingContext pPricingContext,
java.util.Map pExtraParametersMap)
Updates the given qualified item detail map to apply the given quantity of discount.
|
CalculatorInfo |
getCalculatorInfo()
Allows a calculator provide it's own CalculatorInfo
|
atg.commerce.promotion.GWPMarkerManager |
getGwpMarkerManager()
Getter for the GWP marker manager
|
protected long |
getQualifiedItemQuantity(QualifiedItem pQualifiedItem,
int pDetailIndex)
Deprecated.
|
protected double |
getQualifiedItemQuantityWithFraction(QualifiedItem pQualifiedItem,
int pDetailIndex)
Method to get the total discountable quantity of a qualified item (fractional or non-fractional) for this detail index.
|
void |
priceItems(java.util.List pPriceQuotes,
java.util.List pItems,
RepositoryItem pPricingModel,
java.util.Locale pLocale,
RepositoryItem pProfile,
Order pOrder,
java.util.Map pExtraParameters)
If called with a null pricing model then it applies a zero fixed price
adjustment to make any GWP quantity free on the item. |
void |
setGwpMarkerManager(atg.commerce.promotion.GWPMarkerManager pGwpMarkerManager)
Setter for the GWP marker manager
|
determineDiscountNumber, determineDiscountNumberWithFraction, doStartService, findAdjustedPrice, findQualifyingItems, getAmountToDiscount, getPricingTools, getRangeComparator, priceDetailedItemPriceInfo, priceEachItem, priceItem, priceQualifyingItem, priceQualifyingItems, setPricingTools, setRangeComparator, updateDetailedPriceInfos, updateQualifyingDetails, updateQuantityAsQualifier, validateQualifierService
adjust, adjustAmount, adjustAmount, getAdjuster, getDiscountType, getDiscountType, getPricingModelProperties, getPromotionTools, getQualifierService, getQualifierService, isNegativeAmountException, setNegativeAmountException, setPricingModelProperties, setPromotionTools, setQualifierService
addLogListener, createAdminServlet, 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 final java.lang.String CLASS_VERSION
public static final java.lang.String GWP_CALCULATOR_TYPE
public static final java.lang.String DISCOUNT_DETAIL_NAME
public static final java.lang.String AUTO_REMOVE_ATTRIBUTE
public static final java.lang.String QUANTITY_ATTRIBUTE
public static final java.lang.String GIFT_TYPE_ATTRIBUTE
public static final java.lang.String GIFT_DETAIL_ATTRIBUTE
public static final java.lang.String GWP_GIFT_TYPE_SKU
public static final java.lang.String GWP_GIFT_TYPE_PRODUCT
public static final java.lang.String GWP_GIFT_TYPE_CATEGORY
public static final java.lang.String GWP_GIFT_TYPE_SKU_CONTENT_GROUP
public static final java.lang.String GWP_GIFT_TYPE_PRODUCT_CONTENT_GROUP
protected atg.commerce.promotion.GWPMarkerManager mGwpMarkerManager
public atg.commerce.promotion.GWPMarkerManager getGwpMarkerManager()
public void setGwpMarkerManager(atg.commerce.promotion.GWPMarkerManager pGwpMarkerManager)
pGwpMarkerManager
- GWPMarkerManagerpublic void priceItems(java.util.List pPriceQuotes, java.util.List pItems, RepositoryItem pPricingModel, java.util.Locale pLocale, RepositoryItem pProfile, Order pOrder, java.util.Map pExtraParameters) throws PricingException
It is expected that pricing model will be null if called as a pre-calculator.
priceItems
in interface ItemPricingCalculator
priceItems
in class ItemDiscountCalculator
pPriceQuotes
- List of ItemPriceInfo with latest price details for the itempItems
- List of CommerceItem being pricedpPricingModel
- RepositoryItem promotion, may be nullpLocale
- Locale for pricingpProfile
- Profile for pricingpOrder
- Order for pricingpExtraParameters
- Optional Map of extra parametersPricingException
- for problems during pricingprotected long determineNextRangeMap(QualifiedItem pQualifiedItem, long pQuantity, PricingContext pPricingContext, java.util.Map pExtraParametersMap) throws PricingException
pQualifiedItem
- QualifiedItem (non-fractional) containing the discount detailspQuantity
- long quantity to discountpPricingContext
- PricingContext for this pricing operationpExtraParametersMap
- Optional Map of extra parametersPricingException
protected double determineNextRangeMap(QualifiedItem pQualifiedItem, long pQuantity, double pQuantityWithFraction, PricingContext pPricingContext, java.util.Map pExtraParametersMap) throws PricingException
pQualifiedItem
- QualifiedItem (fractional or non-fractional) containing the discount detailspQuantity
- long quantity to discount (for non-fractional item)pQuantityWithFraction
- double quantity to discount (for fractional item)pPricingContext
- PricingContext for this pricing operationpExtraParametersMap
- Optional Map of extra parametersPricingException
@Deprecated protected long getQualifiedItemQuantity(QualifiedItem pQualifiedItem, int pDetailIndex)
pQualifiedItem
- QualifiedItem to checkpDetailIndex
- int detail indexprotected double getQualifiedItemQuantityWithFraction(QualifiedItem pQualifiedItem, int pDetailIndex)
pQualifiedItem
- QualifiedItem to checkpDetailIndex
- int detail indexpublic CalculatorInfo getCalculatorInfo()
CalculatorInfoProvider
getCalculatorInfo
in interface CalculatorInfoProvider