public class PriceListManager extends GenericService implements PropertiesChangedListener
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
BASE_PRICE_LIST_PROPERTY_NAME |
static int |
BULK_PRICE |
static java.lang.String |
BULK_PRICE_STRING |
static java.lang.String |
CLASS_VERSION
Class version string
|
static java.lang.String |
COMPLEX_PRICE_ITEM_TYPE |
static java.lang.String |
COMPLEX_PRICE_LEVELS_PROPERTY_NAME |
static java.lang.String |
COMPLEX_PRICE_PROPERTY_NAME |
static java.lang.String |
LEVEL_PRICE_PROPERTY_NAME |
static int |
LIST_PRICE |
static java.lang.String |
LIST_PRICE_PROPERTY_NAME |
static java.lang.String |
LIST_PRICE_STRING |
static java.lang.String |
LOCALE_PROPERTY_NAME |
protected CommerceProfileTools |
mProfileTools |
protected TransientIdGenerator |
mTransientPriceLevelIdGenerator |
static java.lang.String |
PARENT_SKU_ID_PROPERTY_NAME |
static java.lang.String |
PRICE_END_DATE_PROPERTY_NAME |
static java.lang.String |
PRICE_ITEM_TYPE |
static java.lang.String |
PRICE_LEVEL_ITEM_TYPE |
static java.lang.String |
PRICE_LIST_ID_PROPERTY_NAME |
static java.lang.String |
PRICE_LIST_ITEM_TYPE |
static java.lang.String |
PRICE_LIST_PROPERTY_NAME |
static java.lang.String |
PRICE_LIST_VIEW_NAME |
static java.lang.String |
PRICE_START_DATE_PROPERTY_NAME |
static java.lang.String |
PRICE_VIEW_NAME |
static java.lang.String |
PRICING_SCHEME_PROPERTY_NAME |
static java.lang.String |
PRODUCT_ID_PROPERTY_NAME |
static java.lang.String |
PROFILE_PRICE_LIST_PROPERTY_NAME |
static java.lang.String |
QUANTITY_PROPERTY_NAME |
protected static java.lang.String |
RESOURCE_BUNDLE_NAME
resource bundle name
|
static java.lang.String |
SALE_COMPLEX_PRICE_PROPERTY_NAME
Deprecated.
This property is not used anymore
|
static java.lang.String |
SALE_PRICE_LIST_PROPERTY_NAME |
static java.lang.String |
SALE_PRICE_PROPERTY_NAME
Deprecated.
This property is not used anymore
|
static java.lang.String |
SKU_ID_PROPERTY_NAME |
static int |
TIERED_PRICE |
static java.lang.String |
TIERED_PRICE_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 |
---|
PriceListManager() |
Modifier and Type | Method and Description |
---|---|
RepositoryItem |
addPriceLevel(RepositoryItem pComplexPrice,
long pQuantity,
double pPrice)
add a price level to the given complex price
This could be intelligent and squeeze this into the list based on
the quantity, but should probably leave that to the user, and just
place it at the end.
|
RepositoryItem |
addPriceLevel(RepositoryItem pComplexPrice,
java.lang.Long pQuantity,
java.lang.Double pPrice)
add a price level to the given complex price
This could be intelligent and squeeze this into the list based on
the quantity, but should probably leave that to the user, and just
place it at the end.
|
RepositoryItem |
createComplexPrice()
Creates an empty complex price in the repository
The complexPriceItemType is used.
|
RepositoryItem |
createComplexPrice(java.util.List pQuantities,
java.util.List pLevelPrices)
Creates an empty complex price in the repository
The complexPriceItemType is used.
|
RepositoryItem |
createListPrice(RepositoryItem pPriceList,
java.lang.String pProductId,
java.lang.String pSkuId,
double pListPrice)
Create a price for the given product/sku pair with a list price and store it in the price list.
|
RepositoryItem |
createPrice(RepositoryItem pPriceList,
java.lang.String pPricingScheme)
create a new price with the given pricing scheme
The price isn't actually set
|
RepositoryItem |
createPrice(RepositoryItem pPriceList,
java.lang.String pPricingScheme,
java.lang.String pProductId,
java.lang.String pSkuId)
Create a new price with the given pricing scheme.
|
RepositoryItem |
createPrice(RepositoryItem pPriceList,
java.lang.String pPricingScheme,
java.lang.String pProductId,
java.lang.String pSkuId,
java.util.Date pStartDate,
java.util.Date pEndDate)
Create a new price with the given pricing scheme.
|
protected PriceCacheKey |
createPriceCacheKey(java.lang.String pPriceListId,
java.lang.String pSkuId,
java.lang.String pProductId,
java.lang.String pParentSkuId)
Create a price cache key.
|
protected atg.commerce.pricing.priceLists.PriceFilter |
createPriceFilter(java.lang.String pPriceListId,
java.lang.String pProductId,
java.lang.String pSkuId,
java.lang.String pParentSkuId,
java.lang.Long pFilterConceptOfNow)
Create a new PriceFilter to filter price items.
|
MutableRepositoryItem |
createPriceLevel(java.lang.String pId,
java.lang.String pType)
creates a new transient price level repository with the given id and type.
|
RepositoryItem |
createPriceList()
Creates a new price list in the priceListRepository
The priceListItemType is used.
|
RepositoryItem |
createPriceWithComplexPrice(RepositoryItem pPriceList,
java.lang.String pProductId,
java.lang.String pSkuId,
java.util.List pLevelQuantities,
java.util.List pLevelPrices,
java.lang.String pPricingScheme)
Create a price for the given product/sku pair with a complex price and store it in the price list.
|
RepositoryItem |
createSubSkuPrice(RepositoryItem pPriceList,
java.lang.String pProductId,
java.lang.String pSkuId,
java.lang.String pParentSkuId,
double pListPrice)
Create a price for the given product/sku/parentSku set with a list price and store it in the price list.
|
RepositoryItem |
determinePriceList(atg.commerce.util.ContextValueRetrieverArguments pArguments,
java.lang.String pPriceListPropertyName)
Determines the appropriate price list to get based on properties stored in arguments object.
|
RepositoryItem |
determinePriceList(RepositoryItem pProfile,
RepositoryItem pSite,
java.lang.String pPriceListPropertyName)
Determines the appropriate price list to get based on profile and site.
|
void |
doStartService()
GenericService override
|
RepositoryItem[] |
getAllPrices(java.lang.String pPriceListId)
This will execute a query within a single priceList for all prices
directly attached to this pricelist.
|
java.util.List |
getAncestorPriceLists(RepositoryItem pPriceList)
Given a price list, this method will return all the ancestor price lists.
|
java.lang.String |
getBasePriceListPropertyName()
The name of the property in priceList that contains the basePriceList
|
atg.commerce.multisite.CommerceSitePropertiesManager |
getCommerceSitePropertiesManager()
Set value of the commerce site properties Manager
|
RepositoryItem |
getComplexPrice(java.lang.String pComplexPriceId)
Get the repository item for the complex price with the given id
|
java.lang.String |
getComplexPriceItemType()
The name of the item-descriptor useb for complex prices
|
java.lang.String |
getComplexPriceLevelsPropertyName()
The name of the property in complex price that stores the list of levels
|
java.lang.String |
getComplexPricePropertyName()
The name of the property in price that identifies the complex price
|
ContextValueRetriever |
getContextValueRetriever()
Set value of the ContextValueRetriever
|
RepositoryItem |
getDefaultPriceList()
The default price list
|
RepositoryItem |
getDefaultPriceList(java.lang.String pPropertyName)
Returns the default price list from the given profile property name.
|
java.lang.String |
getDefaultPriceListId()
The id of the default price list
|
RepositoryItem |
getDefaultSalePriceList()
The default price list
|
java.lang.String |
getDefaultSalePriceListId()
The id of the default price list
|
java.util.Collection |
getDescendantPriceLists(RepositoryItem pPriceList)
Given a price list, this method will return all the descendant price lists.
|
java.util.Collection |
getFirstDescendantPriceLists(RepositoryItem pPriceList)
Given a price list, this method will return all the first level of descendant price lists.
|
java.lang.String |
getLevelPricePropertyName()
The name of the property in price levels for storing the price
|
java.lang.String |
getListPricePropertyName()
The name of the property in price that identifies the list price
|
java.lang.String |
getLocalePropertyName()
Getter for the localePropertyName property of a price list.
|
java.lang.String |
getParentSkuIdPropertyName()
The name of the property in price that identifies the sku id
|
RepositoryItem |
getPrice(RepositoryItem pPriceList,
RepositoryItem pProduct,
RepositoryItem pSku)
According to the value of
ignoreProductFirst calls
the various getPrice methods until a price is found or all the
methods have been tried. |
RepositoryItem |
getPrice(RepositoryItem pPriceList,
RepositoryItem pProduct,
RepositoryItem pSku,
boolean pUseCache)
According to the value of
ignoreProductFirst calls
the various getPrice methods until a price is found or all the
methods have been tried. |
RepositoryItem |
getPrice(RepositoryItem pPriceList,
RepositoryItem pProduct,
RepositoryItem pSku,
RepositoryItem pParentSku)
According to the value of
ignoreProductFirst calls
the various getPrice methods until a price is found or all the
methods have been tried. |
RepositoryItem |
getPrice(RepositoryItem pPriceList,
RepositoryItem pProduct,
RepositoryItem pSku,
RepositoryItem pParentSku,
boolean pUseCache)
According to the value of
ignoreProductFirst calls
the various getPrice methods until a price is found or all the
methods have been tried. |
RepositoryItem |
getPrice(RepositoryItem pPriceList,
java.lang.String pProductId,
java.lang.String pSkuId)
According to the value of
ignoreProductFirst calls
the various getPrice methods until a price is found or all the
methods have been tried. |
RepositoryItem |
getPrice(RepositoryItem pPriceList,
java.lang.String pProductId,
java.lang.String pSkuId,
boolean pUseCache)
According to the value of
ignoreProductFirst calls
the various getPrice methods until a price is found or all the
methods have been tried. |
RepositoryItem |
getPrice(RepositoryItem pPriceList,
java.lang.String pProductId,
java.lang.String pSkuId,
java.lang.String pParentSkuId)
According to the value of
ignoreProductFirst calls
the various getPrice methods until a price is found or all the
methods have been tried. |
RepositoryItem |
getPrice(RepositoryItem pPriceList,
java.lang.String pProductId,
java.lang.String pSkuId,
java.lang.String pParentSkuId,
boolean pUseCache)
According to the value of
ignoreProductFirst calls
the various getPrice methods until a price is found or all the
methods have been tried. |
RepositoryItem |
getPrice(java.lang.String pPriceListId,
java.lang.String pProductId,
java.lang.String pSkuId)
According to the value of
ignoreProductFirst calls
the various getPrice methods until a price is found or all the
methods have been tried. |
RepositoryItem |
getPrice(java.lang.String pPriceListId,
java.lang.String pProductId,
java.lang.String pSkuId,
boolean pUseCache)
According to the value of
ignoreProductFirst calls
the various getPrice methods until a price is found or all the
methods have been tried. |
RepositoryItem |
getPrice(java.lang.String pPriceListId,
java.lang.String pProductId,
java.lang.String pSkuId,
java.lang.String pParentSkuId)
According to the value of
ignoreProductFirst calls
the various getPrice methods until a price is found or all the
methods have been tried. |
RepositoryItem |
getPrice(java.lang.String pPriceListId,
java.lang.String pProductId,
java.lang.String pSkuId,
java.lang.String pParentSkuId,
boolean pUseCache)
According to the value of
ignoreProductFirst calls
the various getPrice methods until a price is found or all the
methods have been tried. |
RepositoryItem |
getPriceAdmin(java.lang.String pPriceListId,
java.lang.String pProductId,
java.lang.String pSkuId,
java.lang.String pParentSkuId)
This method is similar to LookForPrice except that it will continue to look in the base price list if the price is not found.
|
AbstractCache |
getPriceCache()
This object caches price objects
|
java.lang.String |
getPriceEndDatePropertyName()
Returns property priceEndDatePropertyName.
|
atg.commerce.pricing.priceLists.PriceFilterAdapter |
getPriceFilterAdapter()
Returns property priceItemFilterAdapter.
|
java.lang.Double |
getPriceFromItem(ItemPriceSource pItemPriceSource,
RepositoryItem pPriceItem,
long pQuantity)
Gets the price from a price repository item.
|
java.lang.Double |
getPriceFromItem(ItemPriceSource pItemPriceSource,
RepositoryItem pPriceItem,
long pQuantity,
double pQuantityWithFraction)
Gets the price from a price repository item.
|
java.lang.String |
getPriceItemType()
The name of the item-descriptor used for prices
|
java.lang.String |
getPriceLevelItemType()
The name of the item-descriptor used for price levels
|
java.util.List<RepositoryItem> |
getPriceLevelsFromItem(ItemPriceSource pItemPriceSource,
RepositoryItem pPriceItem)
Gets the price levels from a complex price sorted by quantity.
|
RepositoryItem |
getPriceList(RepositoryItem pProfile,
java.lang.String pProfilePropertyName)
Return the price list from the profile.
|
RepositoryItem |
getPriceList(RepositoryItem pProfile,
java.lang.String pProfilePropertyName,
boolean pUseDefaultPriceList)
Return the price list from the profile.
|
RepositoryItem |
getPriceList(java.lang.String pId)
Get the price list with the given id from the repository
The priceListItemType is used as the item-descriptor name
|
java.lang.String |
getPriceListEndDatePropertyName()
Returns property priceListEndDatePropertyName.
|
RepositoryItem |
getPriceListForSite(RepositoryItem pSite,
java.lang.String pPriceListPropertyName)
Obtains a price list for the passed site.
|
RepositoryItem |
getPriceListForSite(java.lang.String pPriceListPropertyName)
Obtains the price list for the current site.
|
java.lang.String |
getPriceListIdPropertyName()
The name of the property in priceList that contains the Id of the priceList.
|
java.lang.String |
getPriceListItemType()
The name of the item-descriptor used for price lists
|
java.util.Locale |
getPriceListLocale(RepositoryItem pPriceList)
Get the price list locale from the passed in price list repository item.
|
java.lang.String |
getPriceListPropertyName()
The name of the property in price that refers to the priceList
|
MutableRepository |
getPriceListRepository()
The repository that contains all the price lists
|
java.util.Collection |
getPriceLists()
Get all the price lists.
|
java.util.Collection |
getPriceLists(int pStartingIndex,
int pEndingIndex,
SortDirectives pSortDirectives)
Get all the price lists.
|
int |
getPriceListsCount()
Get count of all price lists.
|
java.lang.String |
getPriceListStartDatePropertyName()
Returns property priceListStartDatePropertyName.
|
java.lang.String |
getPriceListViewName()
The name of the view in the priceListRepository to use when
searching for a price list
|
java.lang.String |
getPriceStartDatePropertyName()
Returns property priceStartDatePropertyName.
|
java.lang.String |
getPriceViewName()
The name of the view in the priceListRepository to use when
searching for a price
|
java.lang.String |
getPricingSchemePropertyName()
The name of the property in price that identifies the pricing scheme
|
java.lang.String |
getProductIdPropertyName()
The name of the property in price that identifies the product id
|
RepositoryItem |
getProductPrice(RepositoryItem pPriceList,
java.lang.String pProductId)
Return the price repository item for the given product id in the
given priceList.
|
java.util.List<RepositoryItem> |
getProductPrices(RepositoryItem pPriceList,
java.lang.String pProductId)
Return the list of price repository items for the given product id
in the given priceList.
|
java.util.Collection |
getProductPrices(java.lang.String pPriceListId,
java.util.List pProductIds,
boolean pIncludeSkuPrices)
Return all the prices where the sku id is null, and the product id is
in the given list, for the given priceList.
|
java.util.Collection |
getProductPrices(java.lang.String pPriceListId,
java.util.List pProductIds,
boolean pIncludeSkuPrices,
boolean pUseCache)
Return all the prices where the sku id is null, and the product id is
in the given list, for the given priceList.
|
CommerceProfileTools |
getProfileTools() |
java.lang.String |
getQuantityPropertyName()
The name of the property in price levels for the quantity
|
java.lang.String |
getSaleComplexPricePropertyName()
Deprecated.
This property is not used anymore
|
java.lang.String |
getSalePriceListPropertyName()
Return name of the profile property for storing the assigned sale price list
|
java.lang.String |
getSalePricePropertyName()
Deprecated.
This property is not used anymore
|
java.lang.String |
getSkuIdPropertyName()
The name of the property in price that identifies the sku id
|
RepositoryItem |
getSkuPrice(RepositoryItem pPriceList,
java.lang.String pSkuId)
Return the price repository item for the given sku id in the
given priceList.
|
RepositoryItem |
getSkuPrice(RepositoryItem pPriceList,
java.lang.String pProductId,
java.lang.String pSkuId)
Return the price repository item for the given product id and sku
id in the given priceList.
|
RepositoryItem |
getSkuPrice(RepositoryItem pPriceList,
java.lang.String pProductId,
java.lang.String pSkuId,
java.lang.String pParentSkuId)
Return the price repository item for the given product id, sku
id, and parent sku id in the given priceList.
|
java.util.List<RepositoryItem> |
getSkuPrices(RepositoryItem pPriceList,
java.lang.String pProductId,
java.lang.String pSkuId)
Return the list of price repository items for the given product id and sku
id in the given priceList.
|
java.util.List<RepositoryItem> |
getSkuPrices(RepositoryItem pPriceList,
java.lang.String pProductId,
java.lang.String pSkuId,
java.lang.String pParentSkuId)
Return the list of price repository items for the given product id, sku
id, and parent sku id in the given priceList.
|
java.util.Collection |
getSkuPrices(java.lang.String pPriceListId,
java.util.List pSkuIds,
boolean pExpandConfigurableSkus)
Return all the prices where the sku id is in the given
list.
|
java.util.Collection |
getSkuPrices(java.lang.String pPriceListId,
java.util.List pSkuIds,
boolean pExpandConfigurableSkus,
boolean pUseCache)
Return all the prices where the sku id is in the given list.
|
TransientIdGenerator |
getTransientPriceLevelIdGenerator()
Returns the id generator used to generate ids for the transient
price level items that the calculator creates for a
ItemPriceSource |
protected RepositoryItem |
getUncachedPrice(RepositoryItem pPriceList,
java.lang.String pProductId,
java.lang.String pSkuId,
java.lang.String pParentSkuId)
According to the value of
ignoreProductFirst calls
the various getPrice methods until a price is found or all the
methods have been tried. |
protected RepositoryItem |
getUncachedPrice(RepositoryItem pPriceList,
java.lang.String pProductId,
java.lang.String pSkuId,
java.lang.String pParentSkuId,
PriceCacheKey pKey,
boolean pFilter)
According to the value of
ignoreProductFirst calls
the various getPrice methods until a price is found or all the
methods have been tried. |
RepositoryItem |
getUncachedPriceForTime(RepositoryItem pPriceList,
java.lang.String pProductId,
java.lang.String pSkuId,
java.lang.String pParentSkuId,
java.lang.Long pTime)
Retrieve a single uncached price for a specific time.
|
protected java.util.List<RepositoryItem> |
getUncachedPrices(RepositoryItem pPriceList,
java.lang.String pProductId,
java.lang.String pSkuId,
java.lang.String pParentSkuId,
PriceCacheKey pKey)
According to the value of
ignoreProductFirst calls
the various getPrice methods until a price is found or all the
methods have been tried. |
protected java.util.List<RepositoryItem> |
getUncachedPrices(RepositoryItem pPriceList,
java.lang.String pProductId,
java.lang.String pSkuId,
java.lang.String pParentSkuId,
PriceCacheKey pKey,
atg.commerce.pricing.priceLists.FilterMode pFilterMode,
java.lang.Long pTime)
According to the value of
ignoreProductFirst calls
the various getPrice methods until a price is found or all the
methods have been tried. |
protected RepositoryItem[] |
getUncachedProductPrices(java.lang.String pPriceListId,
java.util.List pProductIds,
boolean pIncludeSkuPrices)
This will execute a query within a single priceList for product prices.
|
protected RepositoryItem[] |
getUncachedSkuPrices(java.lang.String pPriceListId,
java.util.List pSkuIds,
boolean pExpandConfigurableSkus)
This will execute a query within a single priceList for sku prices.
|
boolean |
isAutomaticallyUseDefaultPriceList()
If this is true, and the profiles price list is null, then the
default price list is automatically used
The default is true
|
boolean |
isIgnoreProductFirst()
This property controls the order that is used when looking for a
price.
|
boolean |
isItemInPriceList(java.lang.String pProductId,
java.lang.String pSkuId,
java.lang.String pPriceListId)
Determines if a product/sku can be priced using a specific price list.
|
boolean |
isUseBasePriceList()
If this is true, then the basePriceList will automatically be
searched if the requested price is not found in the current price
list.
|
boolean |
isUseCache()
If this is true, then the priceCache is used
|
boolean |
isUseSkuOnly()
This property controls whether or not a price is searched for using the sku only.
|
protected RepositoryItem |
lookForPrice(RepositoryItem pPriceList,
java.lang.String pProductId,
java.lang.String pSkuId,
java.lang.String pParentSkuId)
This method invokes lookForPrices to build the query that searches the
priceList for the price.
|
protected java.util.List<RepositoryItem> |
lookForPrices(RepositoryItem pPriceList,
java.lang.String pProductId,
java.lang.String pSkuId,
java.lang.String pParentSkuId)
Build the query that searches the priceList for the price.
|
void |
propertiesChanged(PropertiesChangedEvent pEvent)
Listen for changes to price items
|
void |
setAutomaticallyUseDefaultPriceList(boolean pAutomaticallyUseDefaultPriceList) |
void |
setBasePriceListPropertyName(java.lang.String pBasePriceListPropertyName) |
void |
setCommerceSitePropertiesManager(atg.commerce.multisite.CommerceSitePropertiesManager pCommerceSitePropertiesManager)
Retrieve the value of the CommerceSitePropertiesManager
|
void |
setComplexPriceItemType(java.lang.String pComplexPriceItemType) |
void |
setComplexPriceLevelsPropertyName(java.lang.String pComplexPriceLevelsPropertyName) |
void |
setComplexPricePropertyName(java.lang.String pComplexPricePropertyName) |
void |
setContextValueRetriever(ContextValueRetriever pContextValueRetriever)
Retrieve the value of the ContextValueRetriever
|
void |
setDefaultPriceListId(java.lang.String pDefaultPriceListId) |
void |
setDefaultSalePriceListId(java.lang.String pDefaultSalePriceListId) |
void |
setIgnoreProductFirst(boolean pIgnoreProductFirst) |
void |
setLevelPricePropertyName(java.lang.String pLevelPricePropertyName) |
void |
setListPricePropertyName(java.lang.String pListPricePropertyName) |
void |
setLocalePropertyName(java.lang.String pLocalePropertyName)
Setter for the localePropertyName property of a price list.
|
void |
setParentSkuIdPropertyName(java.lang.String pParentSkuIdPropertyName) |
void |
setPriceCache(AbstractCache pPriceCache) |
void |
setPriceEndDatePropertyName(java.lang.String pPriceEndDatePropertyName)
Sets property priceEndDatePropertyName.
|
void |
setPriceFilterAdapter(atg.commerce.pricing.priceLists.PriceFilterAdapter pPriceFilterAdapter)
Sets property priceItemFilterAdapter.
|
void |
setPriceItemType(java.lang.String pPriceItemType) |
void |
setPriceLevelItemType(java.lang.String pPriceLevelItemType) |
void |
setPriceListEndDatePropertyName(java.lang.String pPriceListEndDatePropertyName)
Sets property priceListEndDatePropertyName.
|
void |
setPriceListIdPropertyName(java.lang.String pPriceListIdPropertyName) |
void |
setPriceListItemType(java.lang.String pPriceListItemType) |
void |
setPriceListPropertyName(java.lang.String pPriceListPropertyName) |
void |
setPriceListRepository(MutableRepository pPriceListRepository) |
void |
setPriceListStartDatePropertyName(java.lang.String pPriceListStartDatePropertyName)
Sets property priceListStartDatePropertyName.
|
void |
setPriceListViewName(java.lang.String pPriceListViewName) |
void |
setPriceStartDatePropertyName(java.lang.String pPriceStartDatePropertyName)
Sets property priceStartDatePropertyName.
|
void |
setPriceViewName(java.lang.String pPriceViewName) |
void |
setPricingSchemePropertyName(java.lang.String pPricingSchemePropertyName) |
void |
setProductIdPropertyName(java.lang.String pProductIdPropertyName) |
void |
setProfileTools(CommerceProfileTools pProfileTools)
Sets the property ProfileTools.
|
void |
setQuantityPropertyName(java.lang.String pQuantityPropertyName) |
void |
setSaleComplexPrice(MutableRepositoryItem pPrice,
java.util.List pLevelQuantities,
java.util.List pLevelPrices)
Deprecated.
This method should not be used anymore. See the docs for instructions
on implementing sales pricing
|
void |
setSaleComplexPrice(MutableRepositoryItem pPrice,
RepositoryItem pComplexPrice)
Deprecated.
This method should not be used anymore. See the docs for instructions
on implementing sales pricing
|
void |
setSaleComplexPricePropertyName(java.lang.String pSaleComplexPricePropertyName)
Deprecated.
This property is not used anymore
|
void |
setSaleListPrice(MutableRepositoryItem pPrice,
double pSalePrice)
Deprecated.
This method should not be used anymore. See the docs for instructions
on implementing sales pricing
|
void |
setSalePriceListPropertyName(java.lang.String pSalePriceListPropertyName)
Set the sale price list property name.
|
void |
setSalePricePropertyName(java.lang.String pSalePricePropertyName)
Deprecated.
This property is not used anymore
|
void |
setSaleSubSkuPrice(MutableRepositoryItem pPrice,
double pSalePrice)
Deprecated.
This method should not be used anymore. See the docs for instructions
on implementing sales pricing
|
void |
setSkuIdPropertyName(java.lang.String pSkuIdPropertyName) |
void |
setTransientPriceLevelIdGenerator(TransientIdGenerator pTransientIdGenerator) |
void |
setUseBasePriceList(boolean pUseBasePriceList) |
void |
setUseCache(boolean pUseCache) |
void |
setUseSkuOnly(boolean pUseSkuOnly) |
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
protected static final java.lang.String RESOURCE_BUNDLE_NAME
public static int LIST_PRICE
public static int BULK_PRICE
public static int TIERED_PRICE
public static java.lang.String LIST_PRICE_STRING
public static java.lang.String BULK_PRICE_STRING
public static java.lang.String TIERED_PRICE_STRING
public static java.lang.String PROFILE_PRICE_LIST_PROPERTY_NAME
public static java.lang.String PRICE_LIST_ITEM_TYPE
public static java.lang.String PRICE_ITEM_TYPE
public static java.lang.String COMPLEX_PRICE_ITEM_TYPE
public static java.lang.String PRICE_LEVEL_ITEM_TYPE
public static java.lang.String PRICE_LIST_ID_PROPERTY_NAME
public static java.lang.String BASE_PRICE_LIST_PROPERTY_NAME
public static java.lang.String PRICE_LIST_PROPERTY_NAME
public static java.lang.String SALE_PRICE_LIST_PROPERTY_NAME
public static java.lang.String PRICING_SCHEME_PROPERTY_NAME
public static java.lang.String PRODUCT_ID_PROPERTY_NAME
public static java.lang.String SKU_ID_PROPERTY_NAME
public static java.lang.String PARENT_SKU_ID_PROPERTY_NAME
public static java.lang.String LIST_PRICE_PROPERTY_NAME
public static java.lang.String COMPLEX_PRICE_PROPERTY_NAME
public static java.lang.String LOCALE_PROPERTY_NAME
public static java.lang.String PRICE_START_DATE_PROPERTY_NAME
public static java.lang.String PRICE_END_DATE_PROPERTY_NAME
public static java.lang.String SALE_PRICE_PROPERTY_NAME
public static java.lang.String SALE_COMPLEX_PRICE_PROPERTY_NAME
public static java.lang.String COMPLEX_PRICE_LEVELS_PROPERTY_NAME
public static java.lang.String QUANTITY_PROPERTY_NAME
public static java.lang.String LEVEL_PRICE_PROPERTY_NAME
public static java.lang.String PRICE_VIEW_NAME
public static java.lang.String PRICE_LIST_VIEW_NAME
protected TransientIdGenerator mTransientPriceLevelIdGenerator
protected CommerceProfileTools mProfileTools
public TransientIdGenerator getTransientPriceLevelIdGenerator()
ItemPriceSource
This id generate must generate ids that do not conflict with the persisted price level items that might be deployed.
public void setTransientPriceLevelIdGenerator(TransientIdGenerator pTransientIdGenerator)
public void setProfileTools(CommerceProfileTools pProfileTools)
public CommerceProfileTools getProfileTools()
public void setPriceCache(AbstractCache pPriceCache)
public AbstractCache getPriceCache()
public void setUseCache(boolean pUseCache)
public boolean isUseCache()
public void setAutomaticallyUseDefaultPriceList(boolean pAutomaticallyUseDefaultPriceList)
public boolean isAutomaticallyUseDefaultPriceList()
public java.lang.String getDefaultPriceListId()
public void setDefaultPriceListId(java.lang.String pDefaultPriceListId)
public RepositoryItem getDefaultPriceList()
public RepositoryItem getDefaultPriceList(java.lang.String pPropertyName)
pPropertyName
- getDefaultPriceList()
,
getDefaultSalePriceList()
public java.lang.String getDefaultSalePriceListId()
public void setDefaultSalePriceListId(java.lang.String pDefaultSalePriceListId)
public RepositoryItem getDefaultSalePriceList()
public void setPriceListRepository(MutableRepository pPriceListRepository)
public MutableRepository getPriceListRepository()
public void setPriceListItemType(java.lang.String pPriceListItemType)
public java.lang.String getPriceListItemType()
public void setPriceItemType(java.lang.String pPriceItemType)
public java.lang.String getPriceItemType()
public void setComplexPriceItemType(java.lang.String pComplexPriceItemType)
public java.lang.String getComplexPriceItemType()
public void setPriceLevelItemType(java.lang.String pPriceLevelItemType)
public java.lang.String getPriceLevelItemType()
public void setUseBasePriceList(boolean pUseBasePriceList)
public boolean isUseBasePriceList()
PriceListManager
to check the basePriceList.
The default is true.public void setIgnoreProductFirst(boolean pIgnoreProductFirst)
public boolean isIgnoreProductFirst()
public void setUseSkuOnly(boolean pUseSkuOnly)
public boolean isUseSkuOnly()
public void setPriceListIdPropertyName(java.lang.String pPriceListIdPropertyName)
public java.lang.String getPriceListIdPropertyName()
public void setBasePriceListPropertyName(java.lang.String pBasePriceListPropertyName)
public java.lang.String getBasePriceListPropertyName()
public void setPriceListPropertyName(java.lang.String pPriceListPropertyName)
public java.lang.String getPriceListPropertyName()
public void setSalePriceListPropertyName(java.lang.String pSalePriceListPropertyName)
pSalePriceListPropertyName
- The name of the profile property for storing the assigned sale price listpublic java.lang.String getSalePriceListPropertyName()
salePriceList
.public void setPricingSchemePropertyName(java.lang.String pPricingSchemePropertyName)
public java.lang.String getPricingSchemePropertyName()
public void setProductIdPropertyName(java.lang.String pProductIdPropertyName)
public java.lang.String getProductIdPropertyName()
public void setSkuIdPropertyName(java.lang.String pSkuIdPropertyName)
public java.lang.String getSkuIdPropertyName()
public void setParentSkuIdPropertyName(java.lang.String pParentSkuIdPropertyName)
public java.lang.String getParentSkuIdPropertyName()
public void setListPricePropertyName(java.lang.String pListPricePropertyName)
public java.lang.String getListPricePropertyName()
public void setComplexPricePropertyName(java.lang.String pComplexPricePropertyName)
public java.lang.String getComplexPricePropertyName()
public void setSalePricePropertyName(java.lang.String pSalePricePropertyName)
public java.lang.String getSalePricePropertyName()
public void setSaleComplexPricePropertyName(java.lang.String pSaleComplexPricePropertyName)
public java.lang.String getSaleComplexPricePropertyName()
public void setComplexPriceLevelsPropertyName(java.lang.String pComplexPriceLevelsPropertyName)
public java.lang.String getComplexPriceLevelsPropertyName()
public void setQuantityPropertyName(java.lang.String pQuantityPropertyName)
public java.lang.String getQuantityPropertyName()
public void setLevelPricePropertyName(java.lang.String pLevelPricePropertyName)
public java.lang.String getLevelPricePropertyName()
public void setPriceListViewName(java.lang.String pPriceListViewName)
public java.lang.String getPriceListViewName()
public void setPriceViewName(java.lang.String pPriceViewName)
public java.lang.String getPriceViewName()
public void setLocalePropertyName(java.lang.String pLocalePropertyName)
pLocalePropertyName
- String property name for the locale propertypublic java.lang.String getLocalePropertyName()
public void setPriceStartDatePropertyName(java.lang.String pPriceStartDatePropertyName)
public java.lang.String getPriceStartDatePropertyName()
public void setPriceEndDatePropertyName(java.lang.String pPriceEndDatePropertyName)
public java.lang.String getPriceEndDatePropertyName()
public void setPriceListStartDatePropertyName(java.lang.String pPriceListStartDatePropertyName)
public java.lang.String getPriceListStartDatePropertyName()
public void setPriceListEndDatePropertyName(java.lang.String pPriceListEndDatePropertyName)
public java.lang.String getPriceListEndDatePropertyName()
public ContextValueRetriever getContextValueRetriever()
public void setContextValueRetriever(ContextValueRetriever pContextValueRetriever)
public atg.commerce.multisite.CommerceSitePropertiesManager getCommerceSitePropertiesManager()
public void setCommerceSitePropertiesManager(atg.commerce.multisite.CommerceSitePropertiesManager pCommerceSitePropertiesManager)
public void setPriceFilterAdapter(atg.commerce.pricing.priceLists.PriceFilterAdapter pPriceFilterAdapter)
public atg.commerce.pricing.priceLists.PriceFilterAdapter getPriceFilterAdapter()
public RepositoryItem createPriceList() throws PriceListException
PriceListException
public RepositoryItem getPriceList(RepositoryItem pProfile, java.lang.String pProfilePropertyName) throws PriceListException
automaticallyUseDefaultPriceList
is true, then return the
default price list.pProfile
- the profile to usepProfilePropertyName
- The name of the property in the profile that contains the price listPriceListException
public RepositoryItem getPriceList(RepositoryItem pProfile, java.lang.String pProfilePropertyName, boolean pUseDefaultPriceList) throws PriceListException
pProfile
- the profile to usepProfilePropertyName
- The name of the property in the profile that contains the price listpUseDefaultPriceList
- If true, use the default price list, if the profile contains null.PriceListException
public java.util.Collection getPriceLists() throws PriceListException
PriceListException
public java.util.Collection getPriceLists(int pStartingIndex, int pEndingIndex, SortDirectives pSortDirectives) throws PriceListException
PriceListException
public int getPriceListsCount() throws PriceListException
PriceListException
public RepositoryItem getPriceList(java.lang.String pId) throws PriceListException
pId
- the id of the price listPriceListException
public RepositoryItem createPrice(RepositoryItem pPriceList, java.lang.String pPricingScheme) throws PriceListException
pPriceList
- The price lists containing this price.pPricingScheme
- the type of price (LIST_PRICE_STRING, BULK_PRICE_STRING, or TIERED_PRICE_STRING)PriceListException
public RepositoryItem createPrice(RepositoryItem pPriceList, java.lang.String pPricingScheme, java.lang.String pProductId, java.lang.String pSkuId) throws PriceListException
pPriceList
- The price list containing this price.pProductId
- The product id that this price applies topSkuId
- The sku id that this price applies topPricingScheme
- the type of price (LIST_PRICE_STRING, BULK_PRICE_STRING, or TIERED_PRICE_STRING)PriceListException
public RepositoryItem createPrice(RepositoryItem pPriceList, java.lang.String pPricingScheme, java.lang.String pProductId, java.lang.String pSkuId, java.util.Date pStartDate, java.util.Date pEndDate) throws PriceListException
pPriceList
- The price list containing this price.pProductId
- The product id that this price applies topSkuId
- The sku id that this price applies topPricingScheme
- the type of price (LIST_PRICE_STRING, BULK_PRICE_STRING, or TIERED_PRICE_STRING)pStartDate
- The price start datepEndDate
- The price end datePriceListException
public RepositoryItem createListPrice(RepositoryItem pPriceList, java.lang.String pProductId, java.lang.String pSkuId, double pListPrice) throws PriceListException
pPriceList
- The price list containing this pricepProductId
- The product id that this price applies topSkuId
- The sku id that this price applies topListPrice
- The list pricePriceListException
public RepositoryItem createSubSkuPrice(RepositoryItem pPriceList, java.lang.String pProductId, java.lang.String pSkuId, java.lang.String pParentSkuId, double pListPrice) throws PriceListException
pPriceList
- The price list containing this pricepProductId
- The product id that this price applies topSkuId
- The sku id that this price applies topParentSkuId
- The sku id of the parent item that this price applies topListPrice
- The list pricePriceListException
public RepositoryItem createPriceWithComplexPrice(RepositoryItem pPriceList, java.lang.String pProductId, java.lang.String pSkuId, java.util.List pLevelQuantities, java.util.List pLevelPrices, java.lang.String pPricingScheme) throws PriceListException
pPriceList
- The price list containing this price.pProductId
- The product id that this price applies topSkuId
- The sku id that this price applies topLevelQuantities
- An array with the list of quantities for each level.pLevelPrices
- An array of the same length as
pLevelQuantities with the list of prices for each level.pPricingScheme
- the type of price (LIST_PRICE_STRING, BULK_PRICE_STRING, or TIERED_PRICE_STRING)PriceListException
- if pPricingScheme is not bulk or tieredpublic RepositoryItem createComplexPrice() throws PriceListException
PriceListException
public RepositoryItem createComplexPrice(java.util.List pQuantities, java.util.List pLevelPrices) throws PriceListException
pQuantities
- The list of quantities for each levelpLevelPrices
- The list of prices for each levelPriceListException
public void setSaleListPrice(MutableRepositoryItem pPrice, double pSalePrice) throws PriceListException
pPrice
- the price repository itempSalePrice
- The sale pricePriceListException
public void setSaleSubSkuPrice(MutableRepositoryItem pPrice, double pSalePrice) throws PriceListException
pPrice
- the price repository itempSalePrice
- The sale pricePriceListException
public void setSaleComplexPrice(MutableRepositoryItem pPrice, RepositoryItem pComplexPrice) throws PriceListException
pPrice
- the price repository itempComplexPrice
- The sale complex pricePriceListException
public void setSaleComplexPrice(MutableRepositoryItem pPrice, java.util.List pLevelQuantities, java.util.List pLevelPrices) throws PriceListException
pPrice
- the price repository itempLevelQuantities
- the quantities for each of the levels in the complex pricepLevelPrices
- the prices for each of the levels in the complex pricePriceListException
public RepositoryItem addPriceLevel(RepositoryItem pComplexPrice, long pQuantity, double pPrice) throws PriceListException
pComplexPrice
- The repository item to add the level topQuantity
- the quantity for the levelpPrice
- the price of the levelPriceListException
public RepositoryItem addPriceLevel(RepositoryItem pComplexPrice, java.lang.Long pQuantity, java.lang.Double pPrice) throws PriceListException
pComplexPrice
- The repository item to add the level topQuantity
- the quantity for the levelpPrice
- the price of the levelPriceListException
public MutableRepositoryItem createPriceLevel(java.lang.String pId, java.lang.String pType) throws RepositoryException
pId
- the optional id to use for the new itempType
- the optional type to create. if null, the configurable
priceLevelItemType
is used.RepositoryException
public RepositoryItem getPrice(java.lang.String pPriceListId, java.lang.String pProductId, java.lang.String pSkuId) throws PriceListException
ignoreProductFirst
calls
the various getPrice methods until a price is found or all the
methods have been tried. If useBasePriceList
is
true then the basePriceList is searched if a price is not found
in the current priceList.pPriceListId
- The if of the priceList to look inpProductId
- The id of the product we are interested in. Can be nullpSkuId
- The id of the sku we are interested in. Can be null.PriceListException
public RepositoryItem getPrice(java.lang.String pPriceListId, java.lang.String pProductId, java.lang.String pSkuId, boolean pUseCache) throws PriceListException
ignoreProductFirst
calls
the various getPrice methods until a price is found or all the
methods have been tried. If useBasePriceList
is
true then the basePriceList is searched if a price is not found
in the current priceList.pPriceListId
- The if of the priceList to look inpProductId
- The id of the product we are interested in. Can be nullpSkuId
- The id of the sku we are interested in. Can be null.pUseCache
- If this is true, get the cached value.PriceListException
public RepositoryItem getPrice(java.lang.String pPriceListId, java.lang.String pProductId, java.lang.String pSkuId, java.lang.String pParentSkuId) throws PriceListException
ignoreProductFirst
calls
the various getPrice methods until a price is found or all the
methods have been tried. If useBasePriceList
is
true then the basePriceList is searched if a price is not found
in the current priceList.pPriceListId
- The if of the priceList to look inpProductId
- The id of the product we are interested in. Can be nullpSkuId
- The id of the sku we are interested in. Can be null.pParentSkuId
- The id of the parent sku we are interested in. Can be null.PriceListException
public RepositoryItem getPrice(java.lang.String pPriceListId, java.lang.String pProductId, java.lang.String pSkuId, java.lang.String pParentSkuId, boolean pUseCache) throws PriceListException
ignoreProductFirst
calls
the various getPrice methods until a price is found or all the
methods have been tried. If useBasePriceList
is
true then the basePriceList is searched if a price is not found
in the current priceList.pPriceListId
- The if of the priceList to look inpProductId
- The id of the product we are interested in. Can be nullpSkuId
- The id of the sku we are interested in. Can be null.pParentSkuId
- The id of the parent sku we are interested in. Can be null.pUseCache
- If this is true, get the cached value.PriceListException
public RepositoryItem getPrice(RepositoryItem pPriceList, RepositoryItem pProduct, RepositoryItem pSku) throws PriceListException
ignoreProductFirst
calls
the various getPrice methods until a price is found or all the
methods have been tried. If useBasePriceList
is
true then the basePriceList is searched if a price is not found
in the current priceList.pPriceList
- The priceList to look inpProduct
- The product we are interested in. Can be nullpSku
- The sku we are interested in. Can be null.PriceListException
public RepositoryItem getPrice(RepositoryItem pPriceList, RepositoryItem pProduct, RepositoryItem pSku, boolean pUseCache) throws PriceListException
ignoreProductFirst
calls
the various getPrice methods until a price is found or all the
methods have been tried. If useBasePriceList
is
true then the basePriceList is searched if a price is not found
in the current priceList.pPriceList
- The priceList to look inpProduct
- The product we are interested in. Can be nullpSku
- The sku we are interested in. Can be null.pUseCache
- If this is true, get the cached value.PriceListException
public RepositoryItem getPrice(RepositoryItem pPriceList, RepositoryItem pProduct, RepositoryItem pSku, RepositoryItem pParentSku) throws PriceListException
ignoreProductFirst
calls
the various getPrice methods until a price is found or all the
methods have been tried. If useBasePriceList
is
true then the basePriceList is searched if a price is not found
in the current priceList.pPriceList
- The priceList to look inpProduct
- The product we are interested in. Can be nullpSku
- The sku we are interested in. Can be null.pParentSku
- The sku of the parent we are interested in. Can be null.PriceListException
public RepositoryItem getPrice(RepositoryItem pPriceList, RepositoryItem pProduct, RepositoryItem pSku, RepositoryItem pParentSku, boolean pUseCache) throws PriceListException
ignoreProductFirst
calls
the various getPrice methods until a price is found or all the
methods have been tried. If useBasePriceList
is
true then the basePriceList is searched if a price is not found
in the current priceList.pPriceList
- The priceList to look inpProduct
- The product we are interested in. Can be nullpSku
- The sku we are interested in. Can be null.pParentSku
- The sku of the parent we are interested in. Can be null.pUseCache
- If this is true, get the cached value.PriceListException
public RepositoryItem getPrice(RepositoryItem pPriceList, java.lang.String pProductId, java.lang.String pSkuId) throws PriceListException
ignoreProductFirst
calls
the various getPrice methods until a price is found or all the
methods have been tried. If useBasePriceList
is
true then the basePriceList is searched if a price is not found
in the current priceList.pPriceList
- The priceList to look inpProductId
- The id of the product we are interested in. Can be nullpSkuId
- The id of the sku we are interested in. Can be null.PriceListException
public RepositoryItem getPrice(RepositoryItem pPriceList, java.lang.String pProductId, java.lang.String pSkuId, boolean pUseCache) throws PriceListException
ignoreProductFirst
calls
the various getPrice methods until a price is found or all the
methods have been tried. If useBasePriceList
is
true then the basePriceList is searched if a price is not found
in the current priceList.pPriceList
- The priceList to look inpProductId
- The id of the product we are interested in. Can be nullpSkuId
- The id of the sku we are interested in. Can be null.pUseCache
- If this is true, get the cached value.PriceListException
public RepositoryItem getPrice(RepositoryItem pPriceList, java.lang.String pProductId, java.lang.String pSkuId, java.lang.String pParentSkuId) throws PriceListException
ignoreProductFirst
calls
the various getPrice methods until a price is found or all the
methods have been tried. If useBasePriceList
is
true then the basePriceList is searched if a price is not found
in the current priceList.pPriceList
- The priceList to look inpProductId
- The id of the product we are interested in. Can be nullpSkuId
- The id of the sku we are interested in. Can be null.pParentSkuId
- The sku id of the parent we are interested in.PriceListException
public RepositoryItem getPrice(RepositoryItem pPriceList, java.lang.String pProductId, java.lang.String pSkuId, java.lang.String pParentSkuId, boolean pUseCache) throws PriceListException
ignoreProductFirst
calls
the various getPrice methods until a price is found or all the
methods have been tried. If useBasePriceList
is
true then the basePriceList is searched if a price is not found
in the current priceList.pPriceList
- The priceList to look inpProductId
- The id of the product we are interested in. Can be nullpSkuId
- The id of the sku we are interested in. Can be null.pParentSkuId
- The sku id of the parent we are interested in.pUseCache
- If this is true, get the cached value.PriceListException
protected RepositoryItem getUncachedPrice(RepositoryItem pPriceList, java.lang.String pProductId, java.lang.String pSkuId, java.lang.String pParentSkuId) throws PriceListException
ignoreProductFirst
calls
the various getPrice methods until a price is found or all the
methods have been tried. If useBasePriceList
is
true then the basePriceList is searched if a price is not found
in the current priceList.pPriceList
- The priceList to look inpProductId
- The id of the product we are interested in. Can be nullpSkuId
- The id of the sku we are interested in. Can be null.pParentSkuId
- The sku of the parent we are interested in.PriceListException
lookForPrice(atg.repository.RepositoryItem, java.lang.String, java.lang.String, java.lang.String)
protected RepositoryItem getUncachedPrice(RepositoryItem pPriceList, java.lang.String pProductId, java.lang.String pSkuId, java.lang.String pParentSkuId, PriceCacheKey pKey, boolean pFilter) throws PriceListException
ignoreProductFirst
calls
the various getPrice methods until a price is found or all the
methods have been tried. If useBasePriceList
is
true then the basePriceList is searched if a price is not found
in the current priceList. This version of the method optionally
allows the use of a price filter, but may only return one price.pPriceList
- The priceList to look inpProductId
- The id of the product we are interested in. Can be nullpSkuId
- The id of the sku we are interested in. Can be null.pParentSkuId
- The sku of the parent we are interested in.pKey
- The cache key.pFilter
- a boolean stating whether or not we should use a price filter.PriceListException
lookForPrice(atg.repository.RepositoryItem, java.lang.String, java.lang.String, java.lang.String)
protected java.util.List<RepositoryItem> getUncachedPrices(RepositoryItem pPriceList, java.lang.String pProductId, java.lang.String pSkuId, java.lang.String pParentSkuId, PriceCacheKey pKey) throws PriceListException
ignoreProductFirst
calls
the various getPrice methods until a price is found or all the
methods have been tried. If useBasePriceList
is
true then the basePriceList is searched if a price is not found
in the current priceList. This version of the method
uses a price filter to ensure it only returns one price (where
multiple valid prices relating to the same price key are
found).pPriceList
- The priceList to look inpProductId
- The id of the product we are interested in. Can be nullpSkuId
- The id of the sku we are interested in. Can be null.pParentSkuId
- The sku of the parent we are interested in.pKey
- The cache keyPriceListException
public RepositoryItem getUncachedPriceForTime(RepositoryItem pPriceList, java.lang.String pProductId, java.lang.String pSkuId, java.lang.String pParentSkuId, java.lang.Long pTime) throws PriceListException
pPriceList
- - The price list associated with the price we're looking forpProductId
- - The product id associated with the price we're looking forpSkuId
- - The sku id associated with the price we're looking forpParentSkuId
- - The parent sku id assocaited with the price we're looking forpTime
- - The time, expressed as a Long, for which we wish to retrieve prices.PriceListException
protected java.util.List<RepositoryItem> getUncachedPrices(RepositoryItem pPriceList, java.lang.String pProductId, java.lang.String pSkuId, java.lang.String pParentSkuId, PriceCacheKey pKey, atg.commerce.pricing.priceLists.FilterMode pFilterMode, java.lang.Long pTime) throws PriceListException
ignoreProductFirst
calls
the various getPrice methods until a price is found or all the
methods have been tried. If useBasePriceList
is
true then the basePriceList is searched if a price is not found
in the current priceList.pPriceList
- The priceList to look inpProductId
- The id of the product we are interested in. Can be nullpSkuId
- The id of the sku we are interested in. Can be null.pParentSkuId
- The sku of the parent we are interested in.pKey
- the cache key. pKey should be non-null when called
from PriceCacheAdapter, since the PriceCacheKey to be
stored has been created already from code attempting to fetch
the cached price. For getUncachedPrice() fetches that
are to be added to cache via cachePrice(), pKey may be null.pFilterMode
- an enum value stating whether we are
filtering for possible cache population, filtering for a price
for right now or not filtering at all.pTime
- a Long (which will normally be null) representing the
time we are interested in retrieving prices for. If it's null
we'll use the value of the current date.PriceListException
lookForPrice(atg.repository.RepositoryItem, java.lang.String, java.lang.String, java.lang.String)
public RepositoryItem getSkuPrice(RepositoryItem pPriceList, java.lang.String pSkuId) throws PriceListException
pPriceList
- The priceList to search inpSkuId
- The sku id to search forPriceListException
public RepositoryItem getSkuPrice(RepositoryItem pPriceList, java.lang.String pProductId, java.lang.String pSkuId) throws PriceListException
pPriceList
- The priceList to search inpProductId
- The product id to search forpSkuId
- The sku id to search forPriceListException
public RepositoryItem getProductPrice(RepositoryItem pPriceList, java.lang.String pProductId) throws PriceListException
pPriceList
- The priceList to search inpProductId
- The product id to search forPriceListException
public RepositoryItem getSkuPrice(RepositoryItem pPriceList, java.lang.String pProductId, java.lang.String pSkuId, java.lang.String pParentSkuId) throws PriceListException
pPriceList
- The priceList to search inpProductId
- The product id to search forpSkuId
- The sku id to search forpParentSkuId
- The parent sku id to search forPriceListException
protected RepositoryItem lookForPrice(RepositoryItem pPriceList, java.lang.String pProductId, java.lang.String pSkuId, java.lang.String pParentSkuId) throws PriceListException
pPriceList
- The pricelist to search inpProductId
- The product value to use. May be nullpSkuId
- The sku value to use. May be nullpParentSkuId
- The parent sku value to use. May be nullPriceListException
#lookForPrices()
protected java.util.List<RepositoryItem> lookForPrices(RepositoryItem pPriceList, java.lang.String pProductId, java.lang.String pSkuId, java.lang.String pParentSkuId) throws PriceListException
pPriceList
- The pricelist to search inpProductId
- The product value to use. May be nullpSkuId
- The sku value to use. May be nullpParentSkuId
- The parent sku value to use. May be nullPriceListException
public RepositoryItem getComplexPrice(java.lang.String pComplexPriceId) throws PriceListException
PriceListException
public java.util.Collection getProductPrices(java.lang.String pPriceListId, java.util.List pProductIds, boolean pIncludeSkuPrices) throws PriceListException
Note: this method does not respect any configured PriceFilterAdapter.
pPriceListId
- The priceList whose prices will be returnedpProductIds
- The list of product ids whose prices are returnedpIncludeSkuPrices
- If false, then only prices with a null skuId are returnedPriceListException
public java.util.Collection getProductPrices(java.lang.String pPriceListId, java.util.List pProductIds, boolean pIncludeSkuPrices, boolean pUseCache) throws PriceListException
Note: this method does not respect any configured PriceFilterAdapter, and uses the adminPriceCache. The output is not cached.
pPriceListId
- The priceList whose prices will be returnedpProductIds
- The list of product ids whose prices are returnedpIncludeSkuPrices
- If false, then only prices with a null skuId are returnedpUseCache
- If this is true, get the cached value.PriceListException
public RepositoryItem getPriceAdmin(java.lang.String pPriceListId, java.lang.String pProductId, java.lang.String pSkuId, java.lang.String pParentSkuId) throws PriceListException
Note, like the other admin related methods, this method does not respect a configured PriceFilterAdapter.
pPriceListId
- The priceList whose price will be returned (or its base price)pProductId
- The product id whose price is returnedpSkuId
- The sku id whose price is returnedpParentSkuId
- The parent sku id for the price returned.PriceListException
protected RepositoryItem[] getUncachedProductPrices(java.lang.String pPriceListId, java.util.List pProductIds, boolean pIncludeSkuPrices) throws PriceListException
pIncludeSkuPrices
is false then the sku of each
price will be null.pPriceListId
- The priceList whose prices will be returnedpProductIds
- The list of product ids whose prices are returnedpIncludeSkuPrices
- If false, then only prices with a null skuId are returnedPriceListException
public java.util.List<RepositoryItem> getSkuPrices(RepositoryItem pPriceList, java.lang.String pProductId, java.lang.String pSkuId) throws PriceListException
pPriceList
- The priceList to search inpProductId
- The product id to search forpSkuId
- The sku id to search forPriceListException
public java.util.List<RepositoryItem> getSkuPrices(RepositoryItem pPriceList, java.lang.String pProductId, java.lang.String pSkuId, java.lang.String pParentSkuId) throws PriceListException
pPriceList
- The priceList to search inpProductId
- The product id to search forpSkuId
- The sku id to search forpParentSkuId
- The parent sku id to search forPriceListException
public java.util.List<RepositoryItem> getProductPrices(RepositoryItem pPriceList, java.lang.String pProductId) throws PriceListException
pPriceList
- The priceList to search inpProductId
- The sku id to search forPriceListException
public java.util.Collection getSkuPrices(java.lang.String pPriceListId, java.util.List pSkuIds, boolean pExpandConfigurableSkus) throws PriceListException
Note: this method does not respect any configured PriceFilterAdapter.
pPriceListId
- The priceList whose prices will be returnedpSkuIds
- The list of sku ids whose prices are returnedpExpandConfigurableSkus
- If true, then prices with a parent sku in the list are also returnedPriceListException
public java.util.Collection getSkuPrices(java.lang.String pPriceListId, java.util.List pSkuIds, boolean pExpandConfigurableSkus, boolean pUseCache) throws PriceListException
Note: this method does not respect any configured PriceFilterAdapter.
pPriceListId
- The priceList whose prices will be returnedpSkuIds
- The list of sku ids whose prices are returnedpExpandConfigurableSkus
- If true, then prices with a parent sku in the list are also returnedpUseCache
- This parameter is no longer used (remains for backwards compatibility)PriceListException
protected RepositoryItem[] getUncachedSkuPrices(java.lang.String pPriceListId, java.util.List pSkuIds, boolean pExpandConfigurableSkus) throws PriceListException
pExpandConfigurableSkus
is true then
prices where the parentSkuId is in the list will also be returned. Only prices with
a null product id are returned.pPriceListId
- The priceList whose prices will be returnedpSkuIds
- The list of sku ids whose prices are returnedpExpandConfigurableSkus
- If true, then prices with a parent sku in the list are also returnedPriceListException
public RepositoryItem[] getAllPrices(java.lang.String pPriceListId) throws PriceListException
pPriceListId
- The priceList whose prices will be returnedPriceListException
public java.util.Collection getDescendantPriceLists(RepositoryItem pPriceList) throws PriceListException
pPriceList
- The priceList whose descendants will be returnedPriceListException
public java.util.Collection getFirstDescendantPriceLists(RepositoryItem pPriceList) throws PriceListException
pPriceList
- The priceList whose descendants will be returnedPriceListException
public java.util.List getAncestorPriceLists(RepositoryItem pPriceList) throws PriceListException
pPriceList
- The priceList whose ancestors will be returnedPriceListException
public void propertiesChanged(PropertiesChangedEvent pEvent)
propertiesChanged
in interface PropertiesChangedListener
public void doStartService() throws ServiceException
doStartService
in class GenericService
ServiceException
- if the Service had a problem starting uppublic boolean isItemInPriceList(java.lang.String pProductId, java.lang.String pSkuId, java.lang.String pPriceListId)
pProductId
- pSkuId
- pPriceListId
- public java.util.Locale getPriceListLocale(RepositoryItem pPriceList)
pPriceList
- RepositoryItem price listpublic RepositoryItem getPriceListForSite(java.lang.String pPriceListPropertyName) throws RepositoryException
pPriceListPropertyName
- the name of the price list property to get from the siteRepositoryException
PriceListException
public RepositoryItem getPriceListForSite(RepositoryItem pSite, java.lang.String pPriceListPropertyName) throws RepositoryException
pSite
- site to obtain the price list frompPriceListPropertyName
- the name of the price list property to get from the sitePriceListException
RepositoryException
public RepositoryItem determinePriceList(RepositoryItem pProfile, RepositoryItem pSite, java.lang.String pPriceListPropertyName) throws RepositoryException
pProfile
- Profile to get the price list forpSite
- Site to get the price list frompPriceListPropertyName
- the name of the profile price list property to determineRepositoryException
public RepositoryItem determinePriceList(atg.commerce.util.ContextValueRetrieverArguments pArguments, java.lang.String pPriceListPropertyName) throws RepositoryException
pArguments
- argument object containing propertiespPriceListPropertyName
- the name of the profile price list property to determineRepositoryException
public java.lang.Double getPriceFromItem(ItemPriceSource pItemPriceSource, RepositoryItem pPriceItem, long pQuantity) throws PricingException
pItemPriceSource
- ItemPriceSource to use if specifiedpPriceItem
- RepositoryItem pricepQuantity
- long quantity to use for volume prices, -1 to get the price for the maximum quantity levelPricingException
public java.lang.Double getPriceFromItem(ItemPriceSource pItemPriceSource, RepositoryItem pPriceItem, long pQuantity, double pQuantityWithFraction) throws PricingException
pItemPriceSource
- ItemPriceSource to use if specifiedpPriceItem
- RepositoryItem pricepQuantity
- long quantity to use for volume prices, -1 to get the price for the maximum quantity levelpQuantityWithFraction
- double
quantity (with fraction) to use for volume prices, -1 to get the price for the maximum quantity levelPricingException
public java.util.List<RepositoryItem> getPriceLevelsFromItem(ItemPriceSource pItemPriceSource, RepositoryItem pPriceItem) throws PricingException
pItemPriceSource
- ItemPriceSource to use if specifiedpPriceItem
- RepositoryItem price item containing a complex price itemPricingException
- if null complex price item or no levelsprotected atg.commerce.pricing.priceLists.PriceFilter createPriceFilter(java.lang.String pPriceListId, java.lang.String pProductId, java.lang.String pSkuId, java.lang.String pParentSkuId, java.lang.Long pFilterConceptOfNow)
pPriceListId
- the ID of the starting price list.pProductId
- the ID of the product we're interested in.pSkuId
- the ID of the sku we're interested inpParentSkuId
- the ID of the parent of the sku we're interested inpFilterConceptOfNow
- 'now' as far the filter is concerned (a null
value will mean current time will be used as 'now')protected PriceCacheKey createPriceCacheKey(java.lang.String pPriceListId, java.lang.String pSkuId, java.lang.String pProductId, java.lang.String pParentSkuId)
pPriceListId
- the originally requested price list ID for the
price item being requested.pProductId
- the originally requested product ID for the
price item being requested.pSkuId
- the originally requested SKU ID for the
price item to being request.pParentSkuId
- the originally specified parent SKU ID
to find a price item for.