public class PricingModelHolder extends GenericService
The PricingTools class understands how to utilize this class to perform order pricing. Each pricing engine only takes as a parameter the collection of pricing models that apply to it's style (e.g. order vs. item pricing). The PricingTools method which accept a PricingModelHolder will pull out each individual collection and pass them into the appropriate pricing engines.
It is not intended for developers to create an instance of this class, and to call into the PricingTools class. A class instance should only be instantiated as a session-scoped component, which can be resolved through the request. This is the pattern that the item pricing droplets use, if no pricing models are supplied as explicit parameters, then the PricingModelHolder is resolved from the request and the collection is fetched.
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
CLASS_VERSION
Class version string
|
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 |
---|
PricingModelHolder()
Constructs an instanceof PricingModelHolder
|
Modifier and Type | Method and Description |
---|---|
void |
doStartService()
For each pricing engine load the default pricing models
|
java.util.Collection |
getAllPromotions()
Returns property AllPromotions
|
ItemPricingEngine |
getItemPricingEngine()
Returns property ItemPricingEngine
|
java.util.Collection |
getItemPricingModels()
Returns property ItemPricingModels
|
OrderPricingEngine |
getOrderPricingEngine()
Returns property OrderPricingEngine
|
java.util.Collection |
getOrderPricingModels()
Returns property OrderPricingModels
|
RepositoryItem |
getProfile()
Returns property Profile
|
java.util.Map<RepositoryItem,RepositoryItem> |
getPromotionStatusMap()
Returns property mPromotionStatusMap
|
PromotionTools |
getPromotionTools()
Returns property PromotionTools
|
long |
getReinitializeTime()
The number of milliseconds that are allowed to pass before the pricing models are reinitialized
|
ShippingPricingEngine |
getShippingPricingEngine()
Returns property ShippingPricingEngine
|
java.util.Collection |
getShippingPricingModels()
Returns property ShippingPricingModels
|
TaxPricingEngine |
getTaxPricingEngine()
Returns property TaxPricingEngine
|
java.util.Collection |
getTaxPricingModels()
Returns property TaxPricingModels
|
void |
initializeAllPromotions()
Reload the all promotions property from the individual collections in the holder.
|
void |
initializeItemPricingModels()
Reload the pricing models for pricing items
|
void |
initializeOrderPricingModels()
Reload the pricing models for pricing the order (e.g.
|
void |
initializePricingModels()
Reload the all pricing models
|
protected void |
initializePromotionStatusMap()
Initializes the property promotionStatusMap
|
void |
initializeShippingPricingModels()
Reload the pricing models for determining shipping costs
|
void |
initializeTaxPricingModels()
Reload the pricing models for calculating tax
|
boolean |
isEnableInit()
Check status of enabled initialization flag
|
boolean |
isPromotionInHolder(java.lang.String pPromotionId)
Returns true if the given promotion is in the holder
|
void |
setAllPromotions(java.util.Collection pAllPromotions)
Deprecated.
this is a no-op implementation as this property is
read only and provides a consolidate collection of all promotions
in the holder.
|
void |
setEnableInit(boolean pEnableInit)
Enable or disable initialization to prevent the holder from being initialized
through its timer or initializePricingModel.
|
void |
setItemPricingEngine(ItemPricingEngine pItemPricingEngine)
Sets property ItemPricingEngine
|
void |
setItemPricingModels(java.util.Collection pItemPricingModels)
Sets property ItemPricingModels
|
void |
setOrderPricingEngine(OrderPricingEngine pOrderPricingEngine)
Sets property OrderPricingEngine
|
void |
setOrderPricingModels(java.util.Collection pOrderPricingModels)
Sets property OrderPricingModels
|
void |
setProfile(RepositoryItem pProfile)
Sets property Profile
|
void |
setPromotionTools(PromotionTools pPromotionTools)
Sets property PromotionTools
|
void |
setReinitializeTime(long pReinitializeTime) |
void |
setShippingPricingEngine(ShippingPricingEngine pShippingPricingEngine)
Sets property ShippingPricingEngine
|
void |
setShippingPricingModels(java.util.Collection pShippingPricingModels)
Sets property ShippingPricingModels
|
void |
setTaxPricingEngine(TaxPricingEngine pTaxPricingEngine)
Sets property TaxPricingEngine
|
void |
setTaxPricingModels(java.util.Collection pTaxPricingModels)
Sets property TaxPricingModels
|
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 PricingModelHolder()
public void setProfile(RepositoryItem pProfile)
public RepositoryItem getProfile()
public void setItemPricingEngine(ItemPricingEngine pItemPricingEngine)
public ItemPricingEngine getItemPricingEngine()
public void setOrderPricingEngine(OrderPricingEngine pOrderPricingEngine)
public OrderPricingEngine getOrderPricingEngine()
public void setTaxPricingEngine(TaxPricingEngine pTaxPricingEngine)
public TaxPricingEngine getTaxPricingEngine()
public void setShippingPricingEngine(ShippingPricingEngine pShippingPricingEngine)
public ShippingPricingEngine getShippingPricingEngine()
public void setItemPricingModels(java.util.Collection pItemPricingModels)
public java.util.Collection getItemPricingModels()
public void setOrderPricingModels(java.util.Collection pOrderPricingModels)
public java.util.Collection getOrderPricingModels()
public void setTaxPricingModels(java.util.Collection pTaxPricingModels)
public java.util.Collection getTaxPricingModels()
public void setShippingPricingModels(java.util.Collection pShippingPricingModels)
public java.util.Collection getShippingPricingModels()
public void setAllPromotions(java.util.Collection pAllPromotions)
public java.util.Collection getAllPromotions()
public java.util.Map<RepositoryItem,RepositoryItem> getPromotionStatusMap()
public void setPromotionTools(PromotionTools pPromotionTools)
public PromotionTools getPromotionTools()
public void setReinitializeTime(long pReinitializeTime)
public long getReinitializeTime()
public void setEnableInit(boolean pEnableInit)
public boolean isEnableInit()
public void initializeItemPricingModels()
public void initializeOrderPricingModels()
public void initializeTaxPricingModels()
public void initializeShippingPricingModels()
public void initializeAllPromotions()
public void initializePricingModels()
public void doStartService() throws ServiceException
doStartService
in class GenericService
ServiceException
- if the Service had a problem starting uppublic boolean isPromotionInHolder(java.lang.String pPromotionId)
pPromotionId
- protected void initializePromotionStatusMap()