|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object atg.nucleus.logging.VariableArgumentApplicationLoggingImpl atg.nucleus.GenericService atg.commerce.pricing.priceLists.ItemTieredPriceCalculator
public class ItemTieredPriceCalculator
A calculator which determines the tiered price of an item and sets the itemPriceInfo to be that amount. The pricing scheme for that item is tier pricing.
Tier pricing means the item's unit price will be variable, based on how many quantities ordered and how the tier is defined. For instance, if buy quantity from 0 to 10, the tier price is 10$, buy quantity from 11 to 20, the unit price is 9$, buy quantity from 21 to 30, the unit price is 8$ then if the user buys 25 items, the total price will be 10*10 + 10*9 + 5*8 = 230$
ItemSchemePriceCalculator
Field Summary | |
---|---|
static java.lang.String |
CLASS_VERSION
Class version string |
static java.lang.String |
RANGE_PROPERTY
|
Fields inherited from class atg.nucleus.GenericService |
---|
SERVICE_INFO_KEY |
Fields inherited from interface atg.nucleus.logging.TraceApplicationLogging |
---|
DEFAULT_LOG_TRACE_STATUS |
Fields inherited from interface atg.nucleus.logging.ApplicationLogging |
---|
DEFAULT_LOG_DEBUG_STATUS, DEFAULT_LOG_ERROR_STATUS, DEFAULT_LOG_INFO_STATUS, DEFAULT_LOG_WARNING_STATUS |
Constructor Summary | |
---|---|
ItemTieredPriceCalculator()
|
Method Summary | |
---|---|
java.lang.String |
getComplexPricePropertyName()
the name of the property for the ComplexPrice |
OrderManager |
getOrderManager()
The order manager is used to find the relationships for a given range. |
java.lang.String |
getPriceLevelPropertyName()
the name of the property for the PriceLevel |
java.lang.String |
getPricePropertyName()
the name of the property for the price of each price level |
PricingTools |
getPricingTools()
pricing tools to help with price calculation |
java.lang.String |
getQuantityPropertyName()
the name of the property for the quantity of each price level |
void |
priceItem(RepositoryItem pPrice,
ItemPriceInfo pPriceQuote,
CommerceItem pItem,
RepositoryItem pPricingModel,
java.util.Locale pLocale,
RepositoryItem pProfile,
java.util.Map pExtraParameters)
Sets the tiered price with the given determined price |
void |
setComplexPricePropertyName(java.lang.String pComplexPricePropertyName)
the name of the property for the ComplexPrice |
void |
setOrderManager(OrderManager pOrderManager)
|
void |
setPriceLevelPropertyName(java.lang.String pPriceLevelPropertyName)
the name of the property for the PriceLevel |
void |
setPricePropertyName(java.lang.String pPricePropertyName)
the name of the property for the price of each price level |
void |
setPricingTools(PricingTools pPricingTools)
pricing tools to help with price calculation |
void |
setQuantityPropertyName(java.lang.String pQuantityPropertyName)
the name of the property for the quantity of each price level |
Methods inherited from class atg.nucleus.logging.VariableArgumentApplicationLoggingImpl |
---|
vlogDebug, vlogDebug, vlogDebug, vlogDebug, vlogError, vlogError, vlogError, vlogError, vlogInfo, vlogInfo, vlogInfo, vlogInfo, vlogTrace, vlogTrace, vlogTrace, vlogTrace, vlogWarning, vlogWarning, vlogWarning, vlogWarning |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static java.lang.String CLASS_VERSION
public static final java.lang.String RANGE_PROPERTY
Constructor Detail |
---|
public ItemTieredPriceCalculator()
Method Detail |
---|
public void setPricingTools(PricingTools pPricingTools)
pPricingTools
- new value to setpublic PricingTools getPricingTools()
public void setOrderManager(OrderManager pOrderManager)
public OrderManager getOrderManager()
public void setComplexPricePropertyName(java.lang.String pComplexPricePropertyName)
pComplexPricePropertyName
- new value to setpublic java.lang.String getComplexPricePropertyName()
public void setPriceLevelPropertyName(java.lang.String pPriceLevelPropertyName)
pPriceLevelPropertyName
- new value to setpublic java.lang.String getPriceLevelPropertyName()
public void setQuantityPropertyName(java.lang.String pQuantityPropertyName)
pQuantityPropertyName
- new value to setpublic java.lang.String getQuantityPropertyName()
public void setPricePropertyName(java.lang.String pPricePropertyName)
pPricePropertyName
- new value to setpublic java.lang.String getPricePropertyName()
public void priceItem(RepositoryItem pPrice, ItemPriceInfo pPriceQuote, CommerceItem pItem, RepositoryItem pPricingModel, java.util.Locale pLocale, RepositoryItem pProfile, java.util.Map pExtraParameters) throws PricingException
priceItem
in interface ItemSchemePriceCalculator
pPrice
- the price as extracted from the PriceListpPriceQuote
- ItemPriceInfo representing the current price quote for the itempItem
- The item to pricepPricingModel
- A RepositoryItem representing a PricingModelpLocale
- the locale in which this item should be pricedpProfile
- The user's profilepExtraParameters
- A Map of extra parameters to be used in the pricing, may be null
PricingException
- if there was a problem pricing the input pItem
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |