public class CommerceItemManager extends GenericService
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
CLASS_VERSION
Class version string
|
protected static java.util.ResourceBundle |
sResourceBundle
Resource Bundle
|
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 |
---|
CommerceItemManager()
Constructs a CommerceItemManager object.
|
Modifier and Type | Method and Description |
---|---|
CommerceItem |
addAsSeparateItemToOrder(Order pOrder,
CommerceItem pItem)
Adds the given item to the given order.
|
CommerceItem |
addAsSeparateSubItemToConfigurableItem(ConfigurableCommerceItem pItem,
SubSkuCommerceItem pSubItem)
Adds the SubItem to the ConfigurableCommerceItem as a separate item.
|
CommerceItem |
addAsSeparateSubItemToItemContainer(CommerceItemContainer pItem,
atg.commerce.order.SubCommerceItem pSubItem)
Adds a sub item as a separate item to a commerce item that is also a commerce item container
|
void |
addItemAmountToPaymentGroup(Order pOrder,
java.lang.String pCommerceItemId,
java.lang.String pPaymentGroupId,
double pAmount)
Adds the given amount of the CommerceItem with the given id to the PaymentGroup with
the given id.
|
void |
addItemQuantityToShippingGroup(Order pOrder,
java.lang.String pCommerceItemId,
java.lang.String pShippingGroupId,
double pQuantityWithFraction)
Adds the given quantity (with fraction)of the CommerceItem with the given id to the ShippingGroup with
the given id.
|
ShippingGroupCommerceItemRelationship |
addItemQuantityToShippingGroup(Order pOrder,
java.lang.String pCommerceItemId,
java.lang.String pShippingGroupId,
double pQuantityWithFraction,
boolean pValidateQuantity)
Adds the given quantity (with fraction) of the CommerceItem with the given id to the ShippingGroup with
the given id.
|
void |
addItemQuantityToShippingGroup(Order pOrder,
java.lang.String pCommerceItemId,
java.lang.String pShippingGroupId,
long pQuantity)
Adds the given quantity of the CommerceItem with the given id to the ShippingGroup with
the given id.
|
ShippingGroupCommerceItemRelationship |
addItemQuantityToShippingGroup(Order pOrder,
java.lang.String pCommerceItemId,
java.lang.String pShippingGroupId,
long pQuantity,
boolean pValidateQuantity)
Adds the given quantity of the CommerceItem with the given id to the ShippingGroup with
the given id.
|
void |
addItemQuantityToShippingGroup(Order pOrder,
java.lang.String pCommerceItemId,
java.lang.String pShippingGroupId,
long pQuantity,
double pQuantityWithFraction)
Adds the given quantity (with fraction) of the CommerceItem with the given id to the ShippingGroup with
the given id.
|
ShippingGroupCommerceItemRelationship |
addItemQuantityToShippingGroup(Order pOrder,
java.lang.String pCommerceItemId,
java.lang.String pShippingGroupId,
long pQuantity,
double pQuantityWithFraction,
boolean pValidateQuantity)
Adds the given quantity (with fraction)of the CommerceItem with the given id to the ShippingGroup with
the given id.
|
CommerceItem |
addItemToOrder(Order pOrder,
CommerceItem pItem)
Adds the given item to the given order.
|
void |
addRemainingItemAmountToPaymentGroup(Order pOrder,
java.lang.String pCommerceItemId,
java.lang.String pPaymentGroupId)
Adds any unassigned amount of the CommerceItem with the given id to the ShippingGroup with
the given id.
|
void |
addRemainingItemQuantityToShippingGroup(Order pOrder,
java.lang.String pCommerceItemId,
java.lang.String pShippingGroupId)
Adds any unassigned quantity of the CommerceItem with the given id to the ShippingGroup with
the given id.
|
CommerceItem |
addSubItemToConfigurableItem(ConfigurableCommerceItem pItem,
SubSkuCommerceItem pSubItem)
Adds a sub item to a configurable commerce item
|
CommerceItem |
addSubItemToItemContainer(CommerceItemContainer pItem,
atg.commerce.order.SubCommerceItem pSubItem)
Adds a sub item to a commerce item that is also a commerce item container
|
void |
adjustItemRelationshipsForQuantityChange(Order pOrder,
CommerceItem pItem,
double pNewQuantityWithFraction)
Adjusts the shipping group relationship quantities with fraction when an item's quantity is changed.
|
void |
adjustItemRelationshipsForQuantityChange(Order pOrder,
CommerceItem pItem,
long pNewQuantity)
Adjusts the shipping group relationship quantities when an item's quantity is changed.
|
void |
adjustItemRelationshipsForQuantityChange(Order pOrder,
CommerceItem pItem,
long pNewQuantity,
double pNewQuantityWithFraction)
Adjusts the shipping group relationship quantities (with fraction) when an item's quantity is changed.
|
void |
adjustNonGiftHandlingInstructionsForQuantityDecrease(Order pOrder,
ShippingGroup pShippingGroup,
CommerceItem pCommerceItem,
long pNewQuantity,
double pNewQuantityWithFraction,
long pQuantityDecrease,
double pQuantityDecreaseWithFraction)
Adjusts the non-gift handling instruction for a quantity (with fraction) decrease.
|
void |
adjustNonGiftHandlingInstructionsForQuantityDecrease(Order pOrder,
ShippingGroup pShippingGroup,
CommerceItem pCommerceItem,
long pNewQuantity,
long pQuantityDecrease)
Adjusts the non-gift handling instruction for a quantity decrease.
|
void |
adjustNonGiftHandlingInstructionsForQuantityIncrease(Order pOrder,
ShippingGroup pShippingGroup,
CommerceItem pCommerceItem,
double pNewQuantityWithFraction,
double pQuantityIncreaseWithFraction)
Adjusts the non-gift handling instruction for a fractiona) quantity increase.
|
void |
adjustNonGiftHandlingInstructionsForQuantityIncrease(Order pOrder,
ShippingGroup pShippingGroup,
CommerceItem pCommerceItem,
long pNewQuantity,
double pNewQuantityWithFraction,
long pQuantityIncrease,
double pQuantityIncreaseWithFraction)
Adjusts the non-gift handling instruction for a quantity (with fraction) increase.
|
void |
adjustNonGiftHandlingInstructionsForQuantityIncrease(Order pOrder,
ShippingGroup pShippingGroup,
CommerceItem pCommerceItem,
long pNewQuantity,
long pQuantityIncrease)
Adjusts the non-gift handling instruction for a quantity increase.
|
protected void |
conditionallyEnforceProductSkuRelationship(java.lang.String pCatalogId,
java.lang.String pProductId,
java.lang.Object pProductRef,
java.lang.String pCatalogRefId,
java.lang.Object pCatalogRef)
If 'enforceProductSkuRelationship' is true, verify that the sku
is actually one of the product's child skus.
|
protected CommerceItem |
copyCommerceItem(CommerceItem pItem)
This method makes a copy of a commerce item.
|
protected void |
copyCommerceItemProperties(CommerceItem pSourceItem,
CommerceItem pDestinationItem)
This method copies commerce item properties that are not handled by
copyCommerceItem . |
protected void |
copySubItems(CommerceItemContainer pSrcItem,
CommerceItemContainer pDstItem)
Deep copies all the sub items from the source CommerceItemContainer to the destination CommerceItemContainer.
|
protected void |
copySubItems(ConfigurableCommerceItem pSrcItem,
ConfigurableCommerceItem pDstItem)
Deprecated.
Replaced by copySubItems(CommerceItemContainer, CommerceItemContainer)
|
CommerceItem |
createCommerceItem(java.lang.String pCatalogRefId,
java.lang.Object pCatalogRef,
java.lang.String pProductId,
long pQuantity)
Creates a new CommerceItem object using the default CommerceItem type defined in the
OrderTools property defaultCommerceItemType.
|
CommerceItem |
createCommerceItem(java.lang.String pCatalogRefId,
java.lang.Object pCatalogRef,
java.lang.String pProductId,
long pQuantity,
ItemPriceInfo pPriceInfo)
Creates a new CommerceItem object using the default CommerceItem type defined in the
OrderTools property defaultCommerceItemType.
|
CommerceItem |
createCommerceItem(java.lang.String pCatalogRefId,
java.lang.Object pCatalogRef,
java.lang.String pProductId,
java.lang.Object pProductRef,
long pQuantity)
Creates a new CommerceItem object using the default CommerceItem type defined in the
OrderTools property defaultCommerceItemType.
|
CommerceItem |
createCommerceItem(java.lang.String pCatalogRefId,
java.lang.Object pCatalogRef,
java.lang.String pProductId,
java.lang.Object pProductRef,
long pQuantity,
double pQuantityWithFraction)
Creates a new CommerceItem object using the default CommerceItem type defined in the
OrderTools property defaultCommerceItemType.
|
CommerceItem |
createCommerceItem(java.lang.String pCatalogRefId,
java.lang.Object pCatalogRef,
java.lang.String pProductId,
java.lang.Object pProductRef,
long pQuantity,
double pQuantityWithFraction,
ItemPriceInfo pPriceInfo)
Creates a new CommerceItem object using the default CommerceItem type defined in the
OrderTools property defaultCommerceItemType.
|
CommerceItem |
createCommerceItem(java.lang.String pCatalogRefId,
java.lang.Object pCatalogRef,
java.lang.String pProductId,
java.lang.Object pProductRef,
long pQuantity,
ItemPriceInfo pPriceInfo)
Creates a new CommerceItem object using the default CommerceItem type defined in the
OrderTools property defaultCommerceItemType.
|
CommerceItem |
createCommerceItem(java.lang.String pCatalogRefId,
java.lang.String pProductId,
long pQuantity)
Creates a new CommerceItem object using the default CommerceItem type defined in the
OrderTools property defaultCommerceItemType.
|
CommerceItem |
createCommerceItem(java.lang.String pCatalogRefId,
java.lang.String pProductId,
long pQuantity,
double pQuantityWithFraction)
Creates a new CommerceItem object using the default CommerceItem type defined in the
OrderTools property defaultCommerceItemType.
|
CommerceItem |
createCommerceItem(java.lang.String pCatalogRefId,
java.lang.String pProductId,
long pQuantity,
double pQuantityWithFraction,
java.lang.String pCatalogKey)
Creates a new CommerceItem object using the default CommerceItem type defined in the
OrderTools property defaultCommerceItemType.
|
CommerceItem |
createCommerceItem(java.lang.String pCatalogRefId,
java.lang.String pProductId,
long pQuantity,
java.lang.String pCatalogKey)
Creates a new CommerceItem object using the default CommerceItem type defined in the
OrderTools property defaultCommerceItemType.
|
CommerceItem |
createCommerceItem(java.lang.String pItemType,
java.lang.String pCatalogRefId,
java.lang.Object pCatalogRef,
java.lang.String pProductId,
java.lang.Object pProductRef,
long pQuantity,
double pQuantityWithFraction,
java.lang.String pCatalogKey,
ItemPriceInfo pPriceInfo)
Creates a new CommerceItem object using the CommerceItem type defined in the
pItemType.
|
CommerceItem |
createCommerceItem(java.lang.String pItemType,
java.lang.String pCatalogRefId,
java.lang.Object pCatalogRef,
java.lang.String pProductId,
java.lang.Object pProductRef,
long pQuantity,
double pQuantityWithFraction,
java.lang.String pCatalogKey,
java.lang.String pCatalogId,
ItemPriceInfo pPriceInfo)
Creates a new CommerceItem object using the CommerceItem type defined in the
pItemType.
|
CommerceItem |
createCommerceItem(java.lang.String pItemType,
java.lang.String pCatalogRefId,
java.lang.Object pCatalogRef,
java.lang.String pProductId,
java.lang.Object pProductRef,
long pQuantity,
double pQuantityWithFraction,
java.lang.String pCatalogKey,
java.lang.String pCatalogId,
java.lang.String pSiteId,
ItemPriceInfo pPriceInfo)
Creates a new CommerceItem object using the CommerceItem type defined in the
pItemType.
|
CommerceItem |
createCommerceItem(java.lang.String pItemType,
java.lang.String pCatalogRefId,
java.lang.Object pCatalogRef,
java.lang.String pProductId,
java.lang.Object pProductRef,
long pQuantity,
ItemPriceInfo pPriceInfo)
Creates a new CommerceItem object using the CommerceItem type defined in the
pItemType.
|
CommerceItem |
createCommerceItem(java.lang.String pItemType,
java.lang.String pCatalogRefId,
java.lang.Object pCatalogRef,
java.lang.String pProductId,
java.lang.Object pProductRef,
long pQuantity,
java.lang.String pCatalogKey,
ItemPriceInfo pPriceInfo)
Creates a new CommerceItem object using the CommerceItem type defined in the
pItemType.
|
CommerceItem |
createCommerceItem(java.lang.String pItemType,
java.lang.String pCatalogRefId,
java.lang.Object pCatalogRef,
java.lang.String pProductId,
java.lang.Object pProductRef,
long pQuantity,
java.lang.String pCatalogKey,
java.lang.String pCatalogId,
ItemPriceInfo pPriceInfo)
Creates a new CommerceItem object using the CommerceItem type defined in the
pItemType.
|
CommerceItem |
createCommerceItem(java.lang.String pItemType,
java.lang.String pCatalogRefId,
java.lang.Object pCatalogRef,
java.lang.String pProductId,
java.lang.Object pProductRef,
long pQuantity,
java.lang.String pCatalogKey,
java.lang.String pCatalogId,
java.lang.String pSiteId,
ItemPriceInfo pPriceInfo)
Creates a new CommerceItem object using the CommerceItem type defined in the
pItemType.
|
CommerceItem |
createCommerceItem(java.lang.String pItemType,
java.lang.String pCatalogRefId,
java.lang.String pProductId,
long pQuantity)
Creates a new CommerceItem object using the supplied CommerceItem type.
|
CommerceItem |
createCommerceItem(java.lang.String pItemType,
java.lang.String pCatalogRefId,
java.lang.String pProductId,
long pQuantity,
double pQuantityWithFraction)
Creates a new CommerceItem object using the supplied CommerceItem type.
|
void |
decreaseRelationshipQuantity(Order pOrder,
ShippingGroupCommerceItemRelationship pRelationship,
double pQuantityDecreaseWithFraction)
Decrease the fractional quantity of a relationship by the given amount.
|
void |
decreaseRelationshipQuantity(Order pOrder,
ShippingGroupCommerceItemRelationship pRelationship,
long pQuantityDecrease)
Decrease the non-fractional quantity of a relationship by the given amount.
|
void |
decreaseRelationshipQuantity(Order pOrder,
ShippingGroupCommerceItemRelationship pRelationship,
long pQuantityDecrease,
double pQuantityDecreaseWithFraction)
Decrease the (fractional) quantity of a relationship by the given amount.
|
CommerceItem |
findMatchingItem(Order pOrder,
CommerceItem pItem)
Method to try and find a commerce item in the given order that matches the
given item.
|
void |
generateRangeForItem(CommerceItem pItem)
For each ShippingGroupCommerceItemRelationship in the order, update the Range
|
void |
generateRangesForOrder(Order pOrder)
For each ShippingGroupCommerceItemRelationship in the order, update the Range
|
java.util.List |
getAllCommerceItemRelationships(Order pOrder)
Provides a List of all CommerceItemRelationships associated with the given Order.
|
java.util.List |
getCommerceItemsFromPaymentGroup(PaymentGroup pPaymentGroup)
Returns a List of all the CommerceItems within the given PaymentGroup.
|
java.util.List |
getCommerceItemsFromShippingGroup(ShippingGroup pShippingGroup)
Returns a List of all the CommerceItems within the given ShippingGroup.
|
GiftlistManager |
getGiftlistManager()
Returns property giftlistManager
|
HandlingInstructionManager |
getHandlingInstructionManager()
Returns property handlingInstructionManager
|
OrderTools |
getOrderTools()
Returns property orderTools
|
PaymentGroupManager |
getPaymentGroupManager()
Returns property paymentGroupManager
|
java.lang.Object |
getProduct(java.lang.String pProductId,
java.lang.String pCatalogKey)
Get the Product object corresponding to the specified ID and
(optional) catalog.
|
protected java.lang.String |
getProductDisplayName(java.lang.Object pProduct)
Return the display name of a product to use when constructing
user visible error messages about it, or a string indicating
that the product's display name could not be found.
|
java.lang.String |
getProductDisplayNamePropertyName()
Return the name of the product property that holds the display
name for that product.
|
java.lang.String |
getProductIdFromSkuId(java.lang.String pSKUId)
Returns a Product ID for a given SKU, if one is found.
|
java.util.Collection |
getProductSkus(java.lang.Object pProduct)
Get a collection of SKU items from the specified product object
|
java.lang.String |
getProductSkusPropertyName()
Return the name of the product property that holds the list
of skus associated with that product.
|
java.lang.String |
getProfilesCatalogPropertyName()
The name of the property in the profile that stores the catalog
|
ShippingGroupManager |
getShippingGroupManager()
Returns property shippingGroupManager
|
SiteGroupManager |
getSiteGroupManager()
Returns property siteGroupManager
|
java.lang.Object |
getSku(java.lang.String pCatalogRefId,
java.lang.String pCatalogKey)
Get the SKU object corresponding to the specified ID and
(optional) catalog.
|
protected java.lang.String |
getSkuDisplayName(java.lang.Object pSku)
Return the display name of a sku to use when constructing
user visible error messages about it, or a string indicating
that the sku's display name could not be found.
|
java.lang.String |
getSkuDisplayNamePropertyName()
Return the name of the sku property that holds the display
name for the sku.
|
long |
getUnassignedQuantityForCommerceItem(CommerceItem pItem)
This method returns the unassigned quantity for a CommerceItem.
|
double |
getUnassignedQuantityWithFractionForCommerceItem(CommerceItem pItem)
This method returns the unassigned (fractional) quantity for a CommerceItem.
|
void |
increaseRelationshipQuantity(Order pOrder,
ShippingGroupCommerceItemRelationship pRelationship,
double pQuantityIncreaseWithFraction)
Increases the relationship quantity with fraction by the given amount.
|
void |
increaseRelationshipQuantity(Order pOrder,
ShippingGroupCommerceItemRelationship pRelationship,
long pQuantityIncrease)
Increases the relationship quantity by the given amount.
|
void |
increaseRelationshipQuantity(Order pOrder,
ShippingGroupCommerceItemRelationship pRelationship,
long pQuantityIncrease,
double pQuantityIncreaseWithFraction)
Increases the relationship quantity by the given amount.
|
boolean |
isEnforceProductSkuRelationship()
Return true if the
createCommerceItem methods should
verify that the product (if any) and sku being used to construct the
commerce item are related -- i.e., that the sku is one of the product's
child skus. |
boolean |
isValidateProductIdSkuIdForNull()
Returns true if the
addAsSeparateItemToOrder method should
verify that both, the product-id and sku-id, of the commerce item
that is being added to the order are not null. |
protected CommerceItem |
mergeOrdersCopyCommerceItem(Order pSrcOrder,
Order pDstOrder,
CommerceItem pItem)
This method is used by OrderManager.mergeOrders to copy a commerce item
from a source order to a destination order.
|
boolean |
productContainsSku(java.lang.Object pProduct,
java.lang.String pSkuId)
Verify that a specified sku ID is an ID of a child sku of the
specified product.
|
protected boolean |
productContainsSku(java.lang.String pCatalogId,
java.lang.String pProductId,
java.lang.Object pProduct,
java.lang.String pSkuId,
java.lang.Object pSku)
Verify that a specified sku is actually a child sku of the
specified product during creation of a commerce item.
|
void |
removeAllCommerceItemsFromOrder(Order pOrder)
Removes all the CommerceItems and their Relationships from an Order.
|
void |
removeAllRelationshipsFromCommerceItem(Order pOrder,
java.lang.String pCommerceItemId)
Removes all the relationships from the CommerceItem with the given id in the given order.
|
void |
removeAllSubItemsFromConfigurableItem(ConfigurableCommerceItem pItem)
Removes all the SubItems from the ConfigurableCommerceItem.
|
void |
removeAllSubItemsFromItemContainer(CommerceItemContainer pItem)
Removes all the sub items from the CommerceItemContainer.
|
void |
removeEntireRelationshipQuantity(Order pOrder,
ShippingGroupCommerceItemRelationship pRelationship)
Decreases the quantity of a relationship to zero
Called by
adjustItemRelationshipsForQuantityChange when the quantity of a relationship is being
decreased to zero. |
void |
removeItemAmountFromPaymentGroup(Order pOrder,
java.lang.String pCommerceItemId,
java.lang.String pPaymentGroupId,
double pAmount)
Removes the given amount of the CommerceItem with the given id from the PaymentGroup with
the given id.
|
void |
removeItemFromOrder(Order pOrder,
java.lang.String pCommerceItemId)
Removes the given item from the given order.
|
void |
removeItemQuantityFromShippingGroup(Order pOrder,
java.lang.String pCommerceItemId,
java.lang.String pShippingGroupId,
double pQuantityWithFraction)
Removes the given fractional quantity of the CommerceItem (fractional) with the given id from the
ShippingGroup with the given id.
|
void |
removeItemQuantityFromShippingGroup(Order pOrder,
java.lang.String pCommerceItemId,
java.lang.String pShippingGroupId,
long pQuantity)
Removes the given quantity of the CommerceItem (non-fractional) with the given id from the ShippingGroup with
the given id.
|
void |
removeItemQuantityFromShippingGroup(Order pOrder,
java.lang.String pCommerceItemId,
java.lang.String pShippingGroupId,
long pQuantity,
double pQuantityWithFraction)
Removes the given quantity of the CommerceItem (fractional or non-fractional) with the given id from the
ShippingGroup with the given id.
|
void |
removeRemainingItemAmountFromPaymentGroup(Order pOrder,
java.lang.String pCommerceItemId,
java.lang.String pPaymentGroupId)
Removes the "remaining" amount of the CommerceItem with the given id from the PaymentGroup with
the given id.
|
void |
removeRemainingItemQuantityFromShippingGroup(Order pOrder,
java.lang.String pCommerceItemId,
java.lang.String pShippingGroupId)
Removes the "remaining" quantity of the CommerceItem with the given id from the ShippingGroup with
the given id.
|
void |
removeSubItemFromConfigurableItem(ConfigurableCommerceItem pItem,
java.lang.String pSubItemId)
Removes the SubItem with the given id from the ConfigurableCommerceItem.
|
void |
removeSubItemFromItemContainer(CommerceItemContainer pItem,
java.lang.String pSubItemId)
Removes the sub item with the given id from the CommerceItemContainer.
|
void |
returnCommerceItem(Order pOrder,
java.lang.String pCommerceItemId,
java.lang.String pShippingGroupId,
long pQuantity)
Marks a CommerceItem as returned in an Order.
|
void |
returnCommerceItem(Order pOrder,
java.lang.String pCommerceItemId,
java.lang.String pShippingGroupId,
long pQuantity,
double pQuantityWithFraction)
Marks a CommerceItem as returned in an Order.
|
void |
setCommerceItemProductAndSku(CommerceItem pCommerceItem,
java.lang.String pProductId,
java.lang.String pSkuId)
Change the Product and SKU to which the commerce item refers.
|
java.lang.Object |
setCommerceItemSku(CommerceItem pCommerceItem,
java.lang.String pSkuId)
Change the SKU to which the commerce item refers.
|
void |
setEnforceProductSkuRelationship(boolean pEnforceProductSkuRelationship)
Specify whether the
createCommerceItem methods should
verify that the product (if any) and sku being used to construct the
commerce item are related -- i.e., that the sku is one of the product's
child skus. |
void |
setGiftlistManager(GiftlistManager pGiftlistManager)
Sets property giftlistManager
|
void |
setHandlingInstructionManager(HandlingInstructionManager pHandlingInstructionManager)
Sets property handlingInstructionManager
|
void |
setOrderTools(OrderTools pOrderTools)
Sets property orderTools
|
void |
setPaymentGroupManager(PaymentGroupManager pPaymentGroupManager)
Sets property paymentGroupManager
|
void |
setProductDisplayNamePropertyName(java.lang.String pProductDisplayNamePropertyName)
Specify the name of the product property that holds the display
name for the product.
|
void |
setProductSkusPropertyName(java.lang.String pProductSkusPropertyName)
Specify the name of the product property that holds the list
of skus associated with that product.
|
void |
setProfilesCatalogPropertyName(java.lang.String pProfilesCatalogPropertyName) |
void |
setShippingGroupManager(ShippingGroupManager pShippingGroupManager)
Sets property shippingGroupManager
|
void |
setSiteGroupManager(SiteGroupManager pSiteGroupManager)
Sets property siteGroupManager
|
void |
setSkuDisplayNamePropertyName(java.lang.String pSkuDisplayNamePropertyName)
Specify the name of the sku property that holds the display
name for the sku.
|
void |
setValidateProductIdSkuIdForNull(boolean pValidateProductIdSkuIdForNull)
Specify whether the
addAsSeparateItemToOrder method should
verify that both, the product-id and sku-id, of the commerce item
that is being added to the order are not null. |
protected boolean |
shouldMergeItemContainers(CommerceItemContainer pExistingItem,
CommerceItemContainer pNewItem)
Determine whether or not we should merge the quantity in one CommerceItemContainer
into the quantity in an already existing item, rather than adding the new
item to the order or parent item as a separate line item or subitem.
|
protected boolean |
shouldMergeItems(CommerceItem pExistingItem,
CommerceItem pNewItem)
Determine whether or not we should merge the quantity in one commerce item or subitem
into the quantity in an already existing item or subitem, rather than adding the new
item to the order as a separate line item or subitem.
|
protected boolean |
shouldMergeItems(Order pOrder,
CommerceItem pExistingItem,
CommerceItem pNewItem)
Determine whether or not we should merge the quantity in one commerce item
into the quantity in an already existing item, rather than adding the new
item to the order as a separate line item.
|
protected boolean |
shouldMergeSubItems(CommerceItemContainer pItem,
atg.commerce.order.SubCommerceItem pExistingSubItem,
atg.commerce.order.SubCommerceItem pNewSubItem)
Determine whether or not we should merge the quantity in one commerce subitem
into the quantity in an already existing subitem, rather than adding the new
subitem to the CommerceItemContainer as a separate subitem.
|
protected boolean |
shouldMergeSubItems(ConfigurableCommerceItem pItem,
CommerceItem pExistingSubItem,
CommerceItem pNewSubItem)
Deprecated.
Use shouldMergeSubItems(CommerceItemContainer, SubCommerceItem, SubCommerceItem)
|
protected void |
updateOrderSite(Order pOrder,
CommerceItem pItem)
Update the order to indicate the site from which the most recent item addition occurred.
|
protected void |
validateSiteCompatibility(java.lang.String pExistingSiteId,
java.lang.String pNewSiteId)
Determine whether a new item's site is compatible with other sites in an order.
|
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 CommerceItemManager()
public void setProfilesCatalogPropertyName(java.lang.String pProfilesCatalogPropertyName)
public java.lang.String getProfilesCatalogPropertyName()
public void setProductSkusPropertyName(java.lang.String pProductSkusPropertyName)
public java.lang.String getProductSkusPropertyName()
public void setProductDisplayNamePropertyName(java.lang.String pProductDisplayNamePropertyName)
public java.lang.String getProductDisplayNamePropertyName()
public void setSkuDisplayNamePropertyName(java.lang.String pSkuDisplayNamePropertyName)
public java.lang.String getSkuDisplayNamePropertyName()
public boolean isEnforceProductSkuRelationship()
createCommerceItem
methods should
verify that the product (if any) and sku being used to construct the
commerce item are related -- i.e., that the sku is one of the product's
child skus. The default value is false, to preserve backward
compatibility with pre-7.0 versions of the code.public void setEnforceProductSkuRelationship(boolean pEnforceProductSkuRelationship)
createCommerceItem
methods should
verify that the product (if any) and sku being used to construct the
commerce item are related -- i.e., that the sku is one of the product's
child skus. If true, createCommerceItem
will throw a
CommerceException if passed a product and sku that are not related
to each other.public boolean isValidateProductIdSkuIdForNull()
addAsSeparateItemToOrder
method should
verify that both, the product-id and sku-id, of the commerce item
that is being added to the order are not null.
The default value is true. To turn off the
null check on sku-is and product-id, set this flag to false.public void setValidateProductIdSkuIdForNull(boolean pValidateProductIdSkuIdForNull)
addAsSeparateItemToOrder
method should
verify that both, the product-id and sku-id, of the commerce item
that is being added to the order are not null.
The default value is true. To turn off the
null check on sku-id and product-id, set this flag to false.
If set to false, then there is a risk of commerce item with null
sku-id and null product-id being added to order and this may
cause error during the pricing operation.public OrderTools getOrderTools()
public void setOrderTools(OrderTools pOrderTools)
pOrderTools
- the value to set for property orderToolspublic ShippingGroupManager getShippingGroupManager()
public void setShippingGroupManager(ShippingGroupManager pShippingGroupManager)
pShippingGroupManager
- the value to set for property shippingGroupManagerpublic PaymentGroupManager getPaymentGroupManager()
public void setPaymentGroupManager(PaymentGroupManager pPaymentGroupManager)
pPaymentGroupManager
- the value to set for property paymentGroupManagerpublic HandlingInstructionManager getHandlingInstructionManager()
public void setHandlingInstructionManager(HandlingInstructionManager pHandlingInstructionManager)
pHandlingInstructionManager
- the value to set for property handlingInstructionManagerpublic GiftlistManager getGiftlistManager()
public void setGiftlistManager(GiftlistManager pGiftlistManager)
pGiftlistManager
- the value to set for property giftlistManagerpublic SiteGroupManager getSiteGroupManager()
public void setSiteGroupManager(SiteGroupManager pSiteGroupManager)
pSiteGroupManager
- the value to set for property siteGroupManagerpublic CommerceItem createCommerceItem(java.lang.String pCatalogRefId, java.lang.String pProductId, long pQuantity) throws CommerceException
pCatalogRefId
- the id of the catalog object reference that this CommerceItem representspProductId
- the product id that this CommerceItem referencespQuantity
- the quantity that this CommerceItem (non-fractional) should representObjectCreationException
- if the instantiation of an object failsInvalidParameterException
- thrown if any of the parameters are nullCommerceException
OrderTools.getDefaultCommerceItemType()
public CommerceItem createCommerceItem(java.lang.String pCatalogRefId, java.lang.String pProductId, long pQuantity, double pQuantityWithFraction) throws CommerceException
pCatalogRefId
- the id of the catalog object reference that this CommerceItem representspProductId
- the product id that this CommerceItem referencespQuantity
- the quantity that this CommerceItem (non-fractional) should representpQuantityWithFraction
- the quantity that this CommerceItem (fractional) should representObjectCreationException
- if the instantiation of an object failsInvalidParameterException
- thrown if any of the parameters are nullCommerceException
OrderTools.getDefaultCommerceItemType()
public CommerceItem createCommerceItem(java.lang.String pItemType, java.lang.String pCatalogRefId, java.lang.String pProductId, long pQuantity) throws CommerceException
pItemType
- the name that is mapped in the OrderTools.properties file to the class of
the desired type to createpCatalogRefId
- the id of the catalog object reference that this CommerceItem representspProductId
- the product id that this CommerceItem referencespQuantity
- the quantity that this CommerceItem (non-fractional) should representObjectCreationException
- if the instantiation of an object failsInvalidParameterException
- thrown if any of the parameters are nullCommerceException
OrderTools.getDefaultCommerceItemType()
public CommerceItem createCommerceItem(java.lang.String pItemType, java.lang.String pCatalogRefId, java.lang.String pProductId, long pQuantity, double pQuantityWithFraction) throws CommerceException
pItemType
- the name that is mapped in the OrderTools.properties file to the class of
the desired type to createpCatalogRefId
- the id of the catalog object reference that this CommerceItem representspProductId
- the product id that this CommerceItem referencespQuantity
- the quantity that this CommerceItem (non-fractional) should representpQuantityWithFraction
- the quantity that this CommerceItem (fractional) should representObjectCreationException
- if the instantiation of an object failsInvalidParameterException
- thrown if any of the parameters are nullCommerceException
OrderTools.getDefaultCommerceItemType()
public CommerceItem createCommerceItem(java.lang.String pCatalogRefId, java.lang.String pProductId, long pQuantity, java.lang.String pCatalogKey) throws CommerceException
pCatalogRefId
- the id of the catalog object reference that this CommerceItem representspProductId
- the product id that this CommerceItem referencespCatalogKey
- the catalog key reference (locale) for this CommerceItempQuantity
- the quantity that this CommerceItem (non-fractional) should representObjectCreationException
- if the instantiation of an object failsInvalidParameterException
- thrown if any of the parameters are nullCommerceException
OrderTools.getDefaultCommerceItemType()
public CommerceItem createCommerceItem(java.lang.String pCatalogRefId, java.lang.String pProductId, long pQuantity, double pQuantityWithFraction, java.lang.String pCatalogKey) throws CommerceException
pCatalogRefId
- the id of the catalog object reference that this CommerceItem representspProductId
- the product id that this CommerceItem referencespCatalogKey
- the catalog key reference (locale) for this CommerceItempQuantity
- the quantity that this CommerceItem (non-fractional) should representpQuantityWithFraction
- the quantity that this CommerceItem (fractional) should representObjectCreationException
- if the instantiation of an object failsInvalidParameterException
- thrown if any of the parameters are nullCommerceException
OrderTools.getDefaultCommerceItemType()
public CommerceItem createCommerceItem(java.lang.String pCatalogRefId, java.lang.Object pCatalogRef, java.lang.String pProductId, long pQuantity) throws CommerceException
pCatalogRefId
- the id of the catalog object reference that this CommerceItem representspCatalogRef
- the catalog object reference that this CommerceItem representspProductId
- the product id that this CommerceItem referencespQuantity
- the quantity that this CommerceItem (non-fractional) should representObjectCreationException
- if the instantiation of an object failsInvalidParameterException
- thrown if any of the parameters are nullCommerceException
OrderTools.getDefaultCommerceItemType()
public CommerceItem createCommerceItem(java.lang.String pCatalogRefId, java.lang.Object pCatalogRef, java.lang.String pProductId, java.lang.Object pProductRef, long pQuantity) throws CommerceException
pCatalogRefId
- the id of the catalog object reference that this CommerceItem representspCatalogRef
- the catalog object reference that this CommerceItem representspProductId
- the product id that this CommerceItem referencespProductRef
- the product object reference that this CommerceItem representspQuantity
- the quantity that this CommerceItem (non-fractional) should representObjectCreationException
- if the instantiation of an object failsInvalidParameterException
- thrown if any of the parameters are nullCommerceException
OrderTools.getDefaultCommerceItemType()
public CommerceItem createCommerceItem(java.lang.String pCatalogRefId, java.lang.Object pCatalogRef, java.lang.String pProductId, java.lang.Object pProductRef, long pQuantity, double pQuantityWithFraction) throws CommerceException
pCatalogRefId
- the id of the catalog object reference that this CommerceItem representspCatalogRef
- the catalog object reference that this CommerceItem representspProductId
- the product id that this CommerceItem referencespProductRef
- the product object reference that this CommerceItem representspQuantity
- the quantity that this CommerceItem (non-fractional) should representpQuantityWithFraction
- the quantity that this CommerceItem (fractional) should representObjectCreationException
- if the instantiation of an object failsInvalidParameterException
- thrown if any of the parameters are nullCommerceException
OrderTools.getDefaultCommerceItemType()
public CommerceItem createCommerceItem(java.lang.String pCatalogRefId, java.lang.Object pCatalogRef, java.lang.String pProductId, long pQuantity, ItemPriceInfo pPriceInfo) throws CommerceException
pCatalogRefId
- the id of the catalog object reference that this CommerceItem representspCatalogRef
- the catalog object reference that this CommerceItem representspProductId
- the product id that this CommerceItem referencespQuantity
- the quantity that this CommerceItem (non-fractional) should representpPriceInfo
- the ItemPriceInfo object for this CommerceItemObjectCreationException
- if the instantiation of an object failsInvalidParameterException
- thrown if any of the parameters are nullCommerceException
OrderTools.getDefaultCommerceItemType()
public CommerceItem createCommerceItem(java.lang.String pCatalogRefId, java.lang.Object pCatalogRef, java.lang.String pProductId, java.lang.Object pProductRef, long pQuantity, ItemPriceInfo pPriceInfo) throws CommerceException
pCatalogRefId
- the id of the catalog object reference that this CommerceItem representspCatalogRef
- the catalog object reference that this CommerceItem representspProductId
- the product id that this CommerceItem referencespProductRef
- the product object reference that this CommerceItem representspQuantity
- the quantity that this CommerceItem (non-fractional) should representpPriceInfo
- the ItemPriceInfo object for this CommerceItemObjectCreationException
- if the instantiation of an object failsInvalidParameterException
- thrown if any of the parameters are nullCommerceException
OrderTools.getDefaultCommerceItemType()
public CommerceItem createCommerceItem(java.lang.String pCatalogRefId, java.lang.Object pCatalogRef, java.lang.String pProductId, java.lang.Object pProductRef, long pQuantity, double pQuantityWithFraction, ItemPriceInfo pPriceInfo) throws CommerceException
pCatalogRefId
- the id of the catalog object reference that this CommerceItem representspCatalogRef
- the catalog object reference that this CommerceItem representspProductId
- the product id that this CommerceItem referencespProductRef
- the product object reference that this CommerceItem representspQuantity
- the quantity that this CommerceItem (non-fractional) should representpQuantityWithFraction
- the quantity that this CommerceItem (fractional) should representpPriceInfo
- the ItemPriceInfo object for this CommerceItemObjectCreationException
- if the instantiation of an object failsInvalidParameterException
- thrown if any of the parameters are nullCommerceException
OrderTools.getDefaultCommerceItemType()
public CommerceItem createCommerceItem(java.lang.String pItemType, java.lang.String pCatalogRefId, java.lang.Object pCatalogRef, java.lang.String pProductId, java.lang.Object pProductRef, long pQuantity, ItemPriceInfo pPriceInfo) throws CommerceException
pItemType
- the name that is mapped in the OrderTools.properties file to the class of
the desired type to createpCatalogRefId
- the id of the catalog object reference that this CommerceItem representspCatalogRef
- the catalog object reference that this CommerceItem representspProductId
- the product id that this CommerceItem referencespProductRef
- the product object reference that this CommerceItem representspQuantity
- the quantity that this CommerceItem (non-fractional) should representpPriceInfo
- the ItemPriceInfo object for this CommerceItemObjectCreationException
- if the instantiation of an object failsInvalidParameterException
- thrown if any of the parameters are nullCommerceException
OrderTools.getDefaultCommerceItemType()
public CommerceItem createCommerceItem(java.lang.String pItemType, java.lang.String pCatalogRefId, java.lang.Object pCatalogRef, java.lang.String pProductId, java.lang.Object pProductRef, long pQuantity, java.lang.String pCatalogKey, ItemPriceInfo pPriceInfo) throws CommerceException
pItemType
- the name that is mapped in the OrderTools.properties file to the class of
the desired type to createpCatalogRefId
- the id of the catalog object reference that this CommerceItem representspCatalogRef
- the catalog object reference that this CommerceItem representspProductId
- the product id that this CommerceItem referencespProductRef
- the product object reference that this CommerceItem representspCatalogKey
- the catalog key reference (locale) for this CommerceItempQuantity
- the quantity that this CommerceItem (non-fractioanl) should representpPriceInfo
- the ItemPriceInfo object for this CommerceItemObjectCreationException
- if the instantiation of an object failsInvalidParameterException
- thrown if any of the parameters are nullCommerceException
OrderTools.getDefaultCommerceItemType()
public CommerceItem createCommerceItem(java.lang.String pItemType, java.lang.String pCatalogRefId, java.lang.Object pCatalogRef, java.lang.String pProductId, java.lang.Object pProductRef, long pQuantity, double pQuantityWithFraction, java.lang.String pCatalogKey, ItemPriceInfo pPriceInfo) throws CommerceException
pItemType
- the name that is mapped in the OrderTools.properties file to the class of
the desired type to createpCatalogRefId
- the id of the catalog object reference that this CommerceItem representspCatalogRef
- the catalog object reference that this CommerceItem representspProductId
- the product id that this CommerceItem referencespProductRef
- the product object reference that this CommerceItem representspCatalogKey
- the catalog key reference (locale) for this CommerceItempQuantity
- the quantity that this CommerceItem (non-fractional) should representpQuantityWithFraction
- the quantity that this CommerceItem (fractional) should representpPriceInfo
- the ItemPriceInfo object for this CommerceItemObjectCreationException
- if the instantiation of an object failsInvalidParameterException
- thrown if any of the parameters are nullCommerceException
OrderTools.getDefaultCommerceItemType()
public CommerceItem createCommerceItem(java.lang.String pItemType, java.lang.String pCatalogRefId, java.lang.Object pCatalogRef, java.lang.String pProductId, java.lang.Object pProductRef, long pQuantity, java.lang.String pCatalogKey, java.lang.String pCatalogId, ItemPriceInfo pPriceInfo) throws CommerceException
pItemType
- the name that is mapped in the OrderTools.properties file to the class of
the desired type to createpCatalogRefId
- the id of the catalog object reference that this CommerceItem representspCatalogRef
- the catalog object reference that this CommerceItem representspProductId
- the product id that this CommerceItem referencespProductRef
- the product object reference that this CommerceItem representspQuantity
- the quantity that this CommerceItem should representpCatalogKey
- the catalog key reference (locale) for this CommerceItempCatalogId
- the id of the catalog repository item that this item is inpPriceInfo
- the ItemPriceInfo object for this CommerceItemObjectCreationException
- if the instantiation of an object failsInvalidParameterException
- thrown if any of the parameters are nullCommerceException
OrderTools.getDefaultCommerceItemType()
public CommerceItem createCommerceItem(java.lang.String pItemType, java.lang.String pCatalogRefId, java.lang.Object pCatalogRef, java.lang.String pProductId, java.lang.Object pProductRef, long pQuantity, double pQuantityWithFraction, java.lang.String pCatalogKey, java.lang.String pCatalogId, ItemPriceInfo pPriceInfo) throws CommerceException
pItemType
- the name that is mapped in the OrderTools.properties file to the class of
the desired type to createpCatalogRefId
- the id of the catalog object reference that this CommerceItem representspCatalogRef
- the catalog object reference that this CommerceItem representspProductId
- the product id that this CommerceItem referencespProductRef
- the product object reference that this CommerceItem representspQuantity
- the quantity that this CommerceItem (non-fractional) should representpQuantityWithFraction
- the quantity that this CommerceItem (fractional) should representpCatalogKey
- the catalog key reference (locale) for this CommerceItempCatalogId
- the id of the catalog repository item that this item is inpPriceInfo
- the ItemPriceInfo object for this CommerceItemObjectCreationException
- if the instantiation of an object failsInvalidParameterException
- thrown if any of the parameters are nullCommerceException
OrderTools.getDefaultCommerceItemType()
public CommerceItem createCommerceItem(java.lang.String pItemType, java.lang.String pCatalogRefId, java.lang.Object pCatalogRef, java.lang.String pProductId, java.lang.Object pProductRef, long pQuantity, java.lang.String pCatalogKey, java.lang.String pCatalogId, java.lang.String pSiteId, ItemPriceInfo pPriceInfo) throws CommerceException
pItemType
- the name that is mapped in the OrderTools.properties file to the class of
the desired type to createpCatalogRefId
- the id of the catalog object reference that this CommerceItem representspCatalogRef
- the catalog object reference that this CommerceItem representspProductId
- the product id that this CommerceItem referencespProductRef
- the product object reference that this CommerceItem representspQuantity
- the quantity that this CommerceItem (non-fractional) should representpCatalogKey
- the catalog key reference (locale) for this CommerceItempCatalogId
- the id of the catalog repository item that this item is inpSiteId
- the id of the site that this item is associated withpPriceInfo
- the ItemPriceInfo object for this CommerceItemObjectCreationException
- if the instantiation of an object failsInvalidParameterException
- thrown if any of the parameters are nullCommerceException
OrderTools.getDefaultCommerceItemType()
public CommerceItem createCommerceItem(java.lang.String pItemType, java.lang.String pCatalogRefId, java.lang.Object pCatalogRef, java.lang.String pProductId, java.lang.Object pProductRef, long pQuantity, double pQuantityWithFraction, java.lang.String pCatalogKey, java.lang.String pCatalogId, java.lang.String pSiteId, ItemPriceInfo pPriceInfo) throws CommerceException
pItemType
- the name that is mapped in the OrderTools.properties file to the class of
the desired type to createpCatalogRefId
- the id of the catalog object reference that this CommerceItem representspCatalogRef
- the catalog object reference that this CommerceItem representspProductId
- the product id that this CommerceItem referencespProductRef
- the product object reference that this CommerceItem representspQuantity
- the quantity that this CommerceItem (non-fractional) should representpQuantityWithFraction
- the quantity that this CommerceItem (fractional) should representpCatalogKey
- the catalog key reference (locale) for this CommerceItempCatalogId
- the id of the catalog repository item that this item is inpSiteId
- the id of the site that this item is associated withpPriceInfo
- the ItemPriceInfo object for this CommerceItemObjectCreationException
- if the instantiation of an object failsInvalidParameterException
- thrown if any of the parameters are nullCommerceException
OrderTools.getDefaultCommerceItemType()
public java.lang.Object setCommerceItemSku(CommerceItem pCommerceItem, java.lang.String pSkuId) throws CommerceException
pCommerceItem
- the commerce itempSkuId
- the ID of the newCommerceException
public void setCommerceItemProductAndSku(CommerceItem pCommerceItem, java.lang.String pProductId, java.lang.String pSkuId) throws CommerceException
pCommerceItem
- the commerce itempProductId
- the ID of the new productpSkuId
- the ID of the new SKUCommerceException
public java.lang.Object getSku(java.lang.String pCatalogRefId, java.lang.String pCatalogKey) throws RepositoryException
pCatalogRefId
- the SKU IDpCatalogKey
- the catalog key or nullRepositoryException
public java.lang.Object getProduct(java.lang.String pProductId, java.lang.String pCatalogKey) throws RepositoryException
pProductId
- the Product IDpCatalogKey
- the catalog key or nullRepositoryException
public CommerceItem addItemToOrder(Order pOrder, CommerceItem pItem) throws CommerceException
pOrder
- the Order to add the CommerceItem topItem
- the CommerceItem to add to the OrderInvalidParameterException
- thrown if any of the parameters are nullatg.commerce.IncompatibleSitesException
- thrown if the sites for the new item and the order's old
items can not share the cartCommerceException
- thrown if a CommerceItem is added and a DuplicateCommerceItemException
is caught. This is an internal error and will get thrown only if the id of the
CommerceItem being added already exists in the order. This should not happen
under normal circumstances.public CommerceItem findMatchingItem(Order pOrder, CommerceItem pItem) throws CommerceException
Note, it uses the logic in the shouldMergeItems() method to check for a match. This check is typically based on the site and catalogRefId matching and does not expect the commerce item id to match.
pOrder
- Order to checkpItem
- CommerceItem to matchCommerceException
shouldMergeItems(Order, CommerceItem, CommerceItem)
protected void conditionallyEnforceProductSkuRelationship(java.lang.String pCatalogId, java.lang.String pProductId, java.lang.Object pProductRef, java.lang.String pCatalogRefId, java.lang.Object pCatalogRef) throws CommerceException
pCatalogId
- the id of the catalog repository item that this
item is inpProductId
- the product id that this CommerceItem referencespProductRef
- the product object reference that this
CommerceItem representspCatalogRefId
- the id of the catalog object reference that
this CommerceItem representspCatalogRef
- the catalog object reference that this
CommerceItem representsCommerceException
- if enforceProductSkuRelationship is
true and SKU is not valid for productprotected boolean shouldMergeItems(Order pOrder, CommerceItem pExistingItem, CommerceItem pNewItem)
pOrder
- The order to which pNewItem is being added. This is not used by
the default implementation but is provided in case subclasses need
it to implement alternative item-merging logic.pExistingItem
- An item already in the cartpNewItem
- The item being added to the cartshouldMergeItems(CommerceItem, CommerceItem)
protected boolean shouldMergeItems(CommerceItem pExistingItem, CommerceItem pNewItem)
pExistingItem
- An item already in the cartpNewItem
- The item being added to the cartshouldMergeItemContainers(CommerceItemContainer, CommerceItemContainer)
protected boolean shouldMergeItemContainers(CommerceItemContainer pExistingItem, CommerceItemContainer pNewItem)
pExistingItem
- An item already in the cartpNewItem
- The item being added to the cartprotected void validateSiteCompatibility(java.lang.String pExistingSiteId, java.lang.String pNewSiteId) throws CommerceException
pExistingSiteId
- The site ID already associated with the cartpNewSiteId
- The site ID for the item or subitem being added to the cartCommerceException
- if the two sites can not share the cartprotected void updateOrderSite(Order pOrder, CommerceItem pItem)
pOrder
- the Order being updatedpItem
- the new or updated CommerceItempublic CommerceItem addAsSeparateItemToOrder(Order pOrder, CommerceItem pItem) throws CommerceException
pOrder
- the Order to add the CommerceItem topItem
- the CommerceItem to add to the OrderInvalidParameterException
- thrown if any of the parameters are nullatg.commerce.IncompatibleSitesException
- thrown if the sites for the new item and the order's old
items can not share the cartCommerceException
- thrown if a CommerceItem is added and a DuplicateCommerceItemException
is caught. This is an internal error and will get thrown only if the id of the
CommerceItem being added already exists in the order. This should not happen
under normal circumstances.public void removeAllCommerceItemsFromOrder(Order pOrder) throws CommerceException
pOrder
- the Order which contains the CommerceItems to be removedInvalidParameterException
- thrown if any of the parameters are nullObjectRemovalException
- thrown if a CommerceItem cannot be removedCommerceException
public void removeItemFromOrder(Order pOrder, java.lang.String pCommerceItemId) throws CommerceException
pOrder
- the Order to remove the CommerceItem fompCommerceItemId
- the id of the CommerceItem to remove from the OrderInvalidParameterException
- thrown if any of the parameters are nullObjectRemovalException
- thrown if the CommerceItem cannot be removedCommerceException
public void removeAllRelationshipsFromCommerceItem(Order pOrder, java.lang.String pCommerceItemId) throws CommerceException
pOrder
- the Order which contains the CommerceItem to remove the relationships frompCommerceItemId
- the id of the CommerceItemInvalidParameterException
- thrown if any of the parameters are nullCommerceItemNotFoundException
- if an item with the given id is not found in the given orderObjectRemovalException
- thrown if a relationship cannot be removedCommerceException
public java.util.List getAllCommerceItemRelationships(Order pOrder) throws CommerceException
pOrder
- the Order whose relationships are soughtInvalidParameterException
- thrown if order parameter is nullCommerceException
Relationship
,
CommerceItemRelationship
,
ShippingGroupCommerceItemRelationship
,
PaymentGroupCommerceItemRelationship
public java.util.List getCommerceItemsFromShippingGroup(ShippingGroup pShippingGroup) throws CommerceException
pShippingGroup
- the ShippingGroup to retrieve the CommerceItems fromInvalidParameterException
- thrown if any of the parameters are nullCommerceException
public java.util.List getCommerceItemsFromPaymentGroup(PaymentGroup pPaymentGroup) throws CommerceException
pPaymentGroup
- the PaymentGroup to retrieve the CommerceItems fromInvalidParameterException
- thrown if any of the parameters are nullCommerceException
public long getUnassignedQuantityForCommerceItem(CommerceItem pItem)
pItem
- the CommerceItem we are checkingShippingGroupManager.getRemainingQuantityForShippingGroup(CommerceItem)
public double getUnassignedQuantityWithFractionForCommerceItem(CommerceItem pItem)
pItem
- the CommerceItem we are checkingdouble
value.ShippingGroupManager.getRemainingQuantityWithFractionForShippingGroup(CommerceItem)
public void addItemAmountToPaymentGroup(Order pOrder, java.lang.String pCommerceItemId, java.lang.String pPaymentGroupId, double pAmount) throws CommerceException
pOrder
- the Order which the CommerceItem and ShippingGroup existpCommerceItemId
- the id of the CommerceItem to addpPaymentGroupId
- the id of the PaymentGroup which the CommerceItem will be added topAmount
- the amount of the CommerceItem which will be addedInvalidParameterException
- thrown if any of the parameters are nullInvalidTypeException
- thrown if more than one REMAINING relationship type is added to a PaymentGroup
or if an invalid type is set to the RelationshipObjectCreationException
- if the instantiation of an object failsCommerceException
PaymentGroupCommerceItemRelationship
public void addRemainingItemAmountToPaymentGroup(Order pOrder, java.lang.String pCommerceItemId, java.lang.String pPaymentGroupId) throws CommerceException
pOrder
- the Order which the CommerceItem and ShippingGroup existpCommerceItemId
- the id of the CommerceItem to addpPaymentGroupId
- the id of the PaymentGroup which the CommerceItem will be added toInvalidParameterException
- thrown if any of the parameters are nullInvalidTypeException
- thrown if more than one REMAINING relationship type is added to a PaymentGroup
or if an invalid type is set to the RelationshipObjectCreationException
- if the instantiation of an object failsCommerceException
ShippingGroupCommerceItemRelationship
public void addItemQuantityToShippingGroup(Order pOrder, java.lang.String pCommerceItemId, java.lang.String pShippingGroupId, long pQuantity) throws CommerceException
pOrder
- the Order which the CommerceItem and ShippingGroup existpCommerceItemId
- the id of the CommerceItem to addpShippingGroupId
- the id of the ShippingGroup which the CommerceItem will be added topQuantity
- the quantity of the CommerceItem which will be addedInvalidParameterException
- thrown if any of the parameters are nullInvalidTypeException
- thrown if more than one REMAINING relationship type is added to a PaymentGroup
or if an invalid type is set to the RelationshipObjectCreationException
- if the instantiation of an object failsCommerceException
ShippingGroupCommerceItemRelationship
public void addItemQuantityToShippingGroup(Order pOrder, java.lang.String pCommerceItemId, java.lang.String pShippingGroupId, double pQuantityWithFraction) throws CommerceException
pOrder
- the Order which the CommerceItem and ShippingGroup existpCommerceItemId
- the id of the CommerceItem to addpShippingGroupId
- the id of the ShippingGroup which the CommerceItem will be added topQuantityWithFraction
- the fractional quantity of the CommerceItem which will be addedInvalidParameterException
- thrown if any of the parameters are nullInvalidTypeException
- thrown if more than one REMAINING relationship type is added to a PaymentGroup
or if an invalid type is set to the RelationshipObjectCreationException
- if the instantiation of an object failsCommerceException
ShippingGroupCommerceItemRelationship
public void addItemQuantityToShippingGroup(Order pOrder, java.lang.String pCommerceItemId, java.lang.String pShippingGroupId, long pQuantity, double pQuantityWithFraction) throws CommerceException
pOrder
- the Order which the CommerceItem and ShippingGroup existpCommerceItemId
- the id of the CommerceItem to addpShippingGroupId
- the id of the ShippingGroup which the CommerceItem will be added topQuantity
- the quantity of the CommerceItem which will be addedpQuantityWithFraction
- the fractional quantity of the CommerceItem which will be addedInvalidParameterException
- thrown if any of the parameters are nullInvalidTypeException
- thrown if more than one REMAINING relationship type is added to a PaymentGroup
or if an invalid type is set to the RelationshipObjectCreationException
- if the instantiation of an object failsCommerceException
ShippingGroupCommerceItemRelationship
public ShippingGroupCommerceItemRelationship addItemQuantityToShippingGroup(Order pOrder, java.lang.String pCommerceItemId, java.lang.String pShippingGroupId, long pQuantity, boolean pValidateQuantity) throws CommerceException
pOrder
- the Order which the CommerceItem and ShippingGroup existpCommerceItemId
- the id of the CommerceItem to addpShippingGroupId
- the id of the ShippingGroup which the CommerceItem will be added topQuantity
- the quantity of the CommerceItem which will be addedpValidateQuantity
- whether the quantity should be validated. A false
value will allow any non-negative quantity to be blindly accepted (even
a quantity of zero). This can be useful when making multiple updates to an
order within a transaction, where transitional points may not, themselves,
be valid.InvalidParameterException
- thrown if any of the parameters are nullInvalidTypeException
- thrown if more than one REMAINING relationship type is added to a PaymentGroup
or if an invalid type is set to the RelationshipObjectCreationException
- if the instantiation of an object failsCommerceException
ShippingGroupCommerceItemRelationship
public ShippingGroupCommerceItemRelationship addItemQuantityToShippingGroup(Order pOrder, java.lang.String pCommerceItemId, java.lang.String pShippingGroupId, double pQuantityWithFraction, boolean pValidateQuantity) throws CommerceException
pOrder
- the Order which the CommerceItem and ShippingGroup existpCommerceItemId
- the id of the CommerceItem to addpShippingGroupId
- the id of the ShippingGroup which the CommerceItem will be added topQuantityWithFraction
- the fractional quantity of the CommerceItem which will be addedpValidateQuantity
- whether the quantity should be validated. A false
value will allow any non-negative quantity to be blindly accepted (even
a quantity of zero). This can be useful when making multiple updates to an
order within a transaction, where transitional points may not, themselves,
be valid.InvalidParameterException
- thrown if any of the parameters are nullInvalidTypeException
- thrown if more than one REMAINING relationship type is added to a PaymentGroup
or if an invalid type is set to the RelationshipObjectCreationException
- if the instantiation of an object failsCommerceException
ShippingGroupCommerceItemRelationship
public ShippingGroupCommerceItemRelationship addItemQuantityToShippingGroup(Order pOrder, java.lang.String pCommerceItemId, java.lang.String pShippingGroupId, long pQuantity, double pQuantityWithFraction, boolean pValidateQuantity) throws CommerceException
pOrder
- the Order which the CommerceItem and ShippingGroup existpCommerceItemId
- the id of the CommerceItem to addpShippingGroupId
- the id of the ShippingGroup which the CommerceItem will be added topQuantity
- the quantity of the CommerceItem which will be addedpQuantityWithFraction
- the fractional quantity of the CommerceItem which will be addedpValidateQuantity
- whether the quantity should be validated. A false
value will allow any non-negative quantity to be blindly accepted (even
a quantity of zero). This can be useful when making multiple updates to an
order within a transaction, where transitional points may not, themselves,
be valid.InvalidParameterException
- thrown if any of the parameters are nullInvalidTypeException
- thrown if more than one REMAINING relationship type is added to a PaymentGroup
or if an invalid type is set to the RelationshipObjectCreationException
- if the instantiation of an object failsCommerceException
ShippingGroupCommerceItemRelationship
public void addRemainingItemQuantityToShippingGroup(Order pOrder, java.lang.String pCommerceItemId, java.lang.String pShippingGroupId) throws CommerceException
pOrder
- the Order which the CommerceItem and ShippingGroup existpCommerceItemId
- the id of the CommerceItem to addpShippingGroupId
- the id of the ShippingGroup which the CommerceItem will be added toInvalidParameterException
- thrown if any of the parameters are nullInvalidTypeException
- thrown if more than one REMAINING relationship type is added to a ShippingGroup
or if an invalid type is set to the RelationshipObjectCreationException
- if the instantiation of an object failsCommerceException
ShippingGroupCommerceItemRelationship
public void removeItemQuantityFromShippingGroup(Order pOrder, java.lang.String pCommerceItemId, java.lang.String pShippingGroupId, long pQuantity) throws CommerceException
pOrder
- the Order which the CommerceItem and ShippingGroup existpCommerceItemId
- the id of the CommerceItem to to remove from the ShippingGrouppShippingGroupId
- the id of the ShippingGroup which the CommerceItem will be removed frompQuantity
- the quantity of the CommerceItem (non-fractional) which will be removedInvalidParameterException
- thrown if any of the parameters are nullObjectRemovalException
- if the removal of the quantity failsCommerceException
public void removeItemQuantityFromShippingGroup(Order pOrder, java.lang.String pCommerceItemId, java.lang.String pShippingGroupId, double pQuantityWithFraction) throws CommerceException
pOrder
- the Order which the CommerceItem and ShippingGroup existpCommerceItemId
- the id of the CommerceItem to to remove from the ShippingGrouppShippingGroupId
- the id of the ShippingGroup which the CommerceItem will be removed frompQuantityWithFraction
- the quantity of the CommerceItem (fractional) which will be removed.InvalidParameterException
- thrown if any of the parameters are nullObjectRemovalException
- if the removal of the quantity failsCommerceException
public void removeItemQuantityFromShippingGroup(Order pOrder, java.lang.String pCommerceItemId, java.lang.String pShippingGroupId, long pQuantity, double pQuantityWithFraction) throws CommerceException
pOrder
- the Order which the CommerceItem and ShippingGroup existpCommerceItemId
- the id of the CommerceItem to to remove from the ShippingGrouppShippingGroupId
- the id of the ShippingGroup which the CommerceItem will be removed frompQuantity
- the quantity of the CommerceItem (non-fractional) which will be removedpQuantityWithFraction
- the quantity of the CommerceItem (fractional) which will be removed.InvalidParameterException
- thrown if any of the parameters are nullObjectRemovalException
- if the removal of the quantity failsCommerceException
public void removeRemainingItemQuantityFromShippingGroup(Order pOrder, java.lang.String pCommerceItemId, java.lang.String pShippingGroupId) throws CommerceException
pOrder
- the Order which the CommerceItem and ShippingGroup existpCommerceItemId
- the id of the CommerceItem to to remove from the ShippingGrouppShippingGroupId
- the id of the ShippingGroup which the CommerceItem will be removed fromInvalidParameterException
- thrown if any of the parameters are nullShippingGroupNotFoundException
- if a ShippingGroup with the given id is not found in the given orderCommerceItemNotFoundException
- if a CommerceItem with the given id is not found in the given orderObjectRemovalException
- if the removal of the object failsCommerceException
public void removeItemAmountFromPaymentGroup(Order pOrder, java.lang.String pCommerceItemId, java.lang.String pPaymentGroupId, double pAmount) throws CommerceException
pOrder
- the Order which the CommerceItem and PaymentGroup existpCommerceItemId
- the id of the CommerceItempPaymentGroupId
- the id of the PaymentGrouppAmount
- the amount to removeInvalidParameterException
- thrown if any of the parameters are null or invalidRelationshipNotFoundException
- if the given relationship is not found in the
PaymentGroup or CommerceItemObjectRemovalException
- if the removal of the quantity failsCommerceException
public void removeRemainingItemAmountFromPaymentGroup(Order pOrder, java.lang.String pCommerceItemId, java.lang.String pPaymentGroupId) throws CommerceException
pOrder
- the Order which the CommerceItem and PaymentGroup existpCommerceItemId
- the id of the CommerceItempPaymentGroupId
- the id of the PaymentGroupInvalidParameterException
- thrown if any of the parameters are nullRelationshipNotFoundException
- if the given relationship is not found in the
PaymentGroup or CommerceItemObjectRemovalException
- if the removal of the object failsCommerceException
public CommerceItem addSubItemToConfigurableItem(ConfigurableCommerceItem pItem, SubSkuCommerceItem pSubItem) throws CommerceException
pItem
- the ConfigurableCommerceItem to add the sub item topSubItem
- the SubSkuCommerceItem to add to the ConfigurableCommerceItemInvalidParameterException
- thrown if any of the parameters are nullatg.commerce.IncompatibleSitesException
- thrown if the sites for the new subitem and the
configurable commerce item can not share the cartCommerceException
SubSkuCommerceItem
,
ConfigurableCommerceItem
public CommerceItem addSubItemToItemContainer(CommerceItemContainer pItem, atg.commerce.order.SubCommerceItem pSubItem) throws CommerceException
pItem
- the CommerceItemContainer to add the sub item topSubItem
- the SubCommerceItem to add to the CommerceItemContainerInvalidParameterException
- thrown if any of the parameters are null or
pItem is not a CommerceItematg.commerce.IncompatibleSitesException
- thrown if the sites for the new subitem and the
commerce item container can not share the cartCommerceException
CommerceItem
,
CommerceItemContainer
,
SubCommerceItem
protected boolean shouldMergeSubItems(ConfigurableCommerceItem pItem, CommerceItem pExistingSubItem, CommerceItem pNewSubItem)
pItem
- The configurable item to which pNewSubItem is being added. This is not used by
the default implementation but is provided in case subclasses need
it to implement alternative item-merging logic.pExistingSubItem
- A subitem already in the configurable itempNewSubItem
- The subitem being added to the configurable itemprotected boolean shouldMergeSubItems(CommerceItemContainer pItem, atg.commerce.order.SubCommerceItem pExistingSubItem, atg.commerce.order.SubCommerceItem pNewSubItem)
pItem
- The commerce item container to which pNewSubItem is being added. This is not used by
the default implementation but is provided in case subclasses need
it to implement alternative item-merging logic.pExistingSubItem
- A subitem already in the item containerpNewSubItem
- The subitem being added to the item containerpublic CommerceItem addAsSeparateSubItemToConfigurableItem(ConfigurableCommerceItem pItem, SubSkuCommerceItem pSubItem) throws CommerceException
pItem
- the ConfigurableCommerceItem to add the sub item topSubItem
- the SubSkuCommerceItem to add to the ConfigurableCommerceItemInvalidParameterException
- thrown if any of the parameters are nullatg.commerce.IncompatibleSitesException
- thrown if the sites for the new subitem and the
configurable commerce item can not share the cartCommerceException
SubSkuCommerceItem
,
ConfigurableCommerceItem
public CommerceItem addAsSeparateSubItemToItemContainer(CommerceItemContainer pItem, atg.commerce.order.SubCommerceItem pSubItem) throws CommerceException
pItem
- the CommerceItemContainer to add the sub item topSubItem
- the SubCommerceItem to add to the CommerceItemContainerInvalidParameterException
- thrown if any of the parameters are nullatg.commerce.IncompatibleSitesException
- thrown if the sites for the new subitem and the
commerce item container can not share the cartCommerceException
CommerceItem
,
CommerceItemContainer
,
SubCommerceItem
public void removeSubItemFromConfigurableItem(ConfigurableCommerceItem pItem, java.lang.String pSubItemId) throws CommerceException
pItem
- the ConfigurableCommerceItem to remove the sub item frompSubItemId
- the SubSkuCommerceItem id to remove from the ConfigurableCommerceItemInvalidParameterException
- thrown if any of the parameters are nullObjectRemovalException
- if the removal of the object failsCommerceException
SubSkuCommerceItem
,
ConfigurableCommerceItem
public void removeAllSubItemsFromConfigurableItem(ConfigurableCommerceItem pItem) throws CommerceException
pItem
- the ConfigurableCommerceItem to remove the SubSkuCommerceItems fromInvalidParameterException
- thrown if any of the parameters are nullObjectRemovalException
- if the removal of the object failsCommerceException
SubSkuCommerceItem
,
ConfigurableCommerceItem
public void removeSubItemFromItemContainer(CommerceItemContainer pItem, java.lang.String pSubItemId) throws CommerceException
pItem
- the CommerceItemContainer to remove the sub item frompSubItemId
- the SubCommerceItem id to remove from the CommerceItemContainerInvalidParameterException
- thrown if any of the parameters are nullObjectRemovalException
- if the removal of the object failsCommerceException
SubCommerceItem
,
CommerceItemContainer
public void removeAllSubItemsFromItemContainer(CommerceItemContainer pItem) throws CommerceException
pItem
- the CommerceItemContainer to remove the SubCommerceItems fromInvalidParameterException
- thrown if any of the parameters are nullObjectRemovalException
- if the removal of the object failsCommerceException
SubCommerceItem
,
CommerceItemContainer
protected void copySubItems(ConfigurableCommerceItem pSrcItem, ConfigurableCommerceItem pDstItem) throws CommerceException
pSrcItem
- The source item to copy from.pDstItem
- The destination item to copy to.CommerceException
- If the source or destination item parameters are null.protected void copySubItems(CommerceItemContainer pSrcItem, CommerceItemContainer pDstItem) throws CommerceException
pSrcItem
- The source item to copy from.pDstItem
- The destination item to copy to.CommerceException
- If the source or destination item parameters are null.copyCommerceItem(CommerceItem)
public void returnCommerceItem(Order pOrder, java.lang.String pCommerceItemId, java.lang.String pShippingGroupId, long pQuantity) throws CommerceException
pOrder
- the Order which contains the CommerceItem to returnpCommerceItemId
- the id of the CommerceItem to returnpShippingGroupId
- the id of the ShippingGroup which contains the CommerceItem to returnpQuantity
- the quantity of the CommerceItem to return. The quantity cannot be larger than
the quantity in the ShippingGroupCommerceItemRelationshipCommerceException
- if an exception occurs while returning a CommerceItempublic void returnCommerceItem(Order pOrder, java.lang.String pCommerceItemId, java.lang.String pShippingGroupId, long pQuantity, double pQuantityWithFraction) throws CommerceException
returnedQuantity
or returnedQuantityWithFraction
in the ShippingGroupCommerceItemRelationship to pQuantity or
pQuantityWithFraction respectively. It also reduces the quantity or quantityWithFraction in the
CommerceItem and the ShippingGroupCommerceItemRelationship by pQuantity or pQuantityWithFraction respectively.pOrder
- the Order which contains the CommerceItem to returnpCommerceItemId
- the id of the CommerceItem (fractional or non-fractional) to returnpShippingGroupId
- the id of the ShippingGroup which contains the CommerceItem to returnpQuantity
- the quantity of the CommerceItem (non-fractional) to return. The quantity cannot be larger than
the quantity in the ShippingGroupCommerceItemRelationshippQuantityWithFraction
- the quantity of the CommerceItem (fractional) to return. The fractional quantity
cannot be larger than the fractional quantity in the ShippingGroupCommerceItemRelationshipCommerceException
- if an exception occurs while returning a CommerceItempublic void generateRangesForOrder(Order pOrder) throws CommerceException
pOrder
- The order to calculate the ranges forCommerceException
public void generateRangeForItem(CommerceItem pItem) throws CommerceException
pItem
- The item to calculate the ranges forCommerceException
protected CommerceItem mergeOrdersCopyCommerceItem(Order pSrcOrder, Order pDstOrder, CommerceItem pItem) throws CommerceException
Applications that have extended CommerceItem to include additional data should subclass CommerceItemManager and override this method if any of that data must be preserved when merging orders.
pSrcOrder
- The source order from which commerce items are being copied.pDstOrder
- The destination order to which commerce items are being copied.pItem
- The item currently being copied.CommerceException
protected CommerceItem copyCommerceItem(CommerceItem pItem) throws CommerceException
copyCommerceItemProperties
.pItem
- The item to be copied.CommerceException
copyCommerceItemProperties(CommerceItem, CommerceItem)
protected void copyCommerceItemProperties(CommerceItem pSourceItem, CommerceItem pDestinationItem) throws CommerceException
copyCommerceItem
. The source and destination items are assumed to be
the same class.
Properties are copied for commerce item extensions, as follows:
pSourceItem
- The item to be copied from.pDestinationItem
- The item to be copied to.CommerceException
copySubItems(CommerceItemContainer, CommerceItemContainer)
protected java.lang.String getProductDisplayName(java.lang.Object pProduct)
protected java.lang.String getSkuDisplayName(java.lang.Object pSku)
public java.util.Collection getProductSkus(java.lang.Object pProduct) throws CommerceException
pProduct
- the productCommerceException
public boolean productContainsSku(java.lang.Object pProduct, java.lang.String pSkuId) throws CommerceException
pProduct
- The productpSkuId
- The sku id to testCommerceException
- if unable to find or recognize the type
of the product's child SKU propertyprotected boolean productContainsSku(java.lang.String pCatalogId, java.lang.String pProductId, java.lang.Object pProduct, java.lang.String pSkuId, java.lang.Object pSku)
pCatalogId
- The catalog id of the particular catalog from which a commerce item
is being created. May be null if custom catalogs are not in use.pProductId
- The product id of the product being examined. May be null if no
product id was supplied in the call to createCommerceItem
.pProduct
- The product object corresponding to pProductId
, which
may be null if pProductId
is null.pSkuId
- The sku id of the sku being examined. This value should never be null.pSku
- The sku object corresponding to pSkuId
public java.lang.String getProductIdFromSkuId(java.lang.String pSKUId)
pSKUId
- the sku to get a product forjavax.servlet.ServletException
- if there was an error while executing the codejava.io.IOException
- if there was an error with servlet iopublic void adjustItemRelationshipsForQuantityChange(Order pOrder, CommerceItem pItem, long pNewQuantity) throws CommerceException
pOrder
- the order which contains the itempItem
- the CommerceItem (non-fractional)pNewQuantity
- the new quantity to be assignedCommerceException
increaseRelationshipQuantity(Order, ShippingGroupCommerceItemRelationship, long)
,
decreaseRelationshipQuantity(Order, ShippingGroupCommerceItemRelationship, long)
,
removeEntireRelationshipQuantity(Order, ShippingGroupCommerceItemRelationship)
public void adjustItemRelationshipsForQuantityChange(Order pOrder, CommerceItem pItem, double pNewQuantityWithFraction) throws CommerceException
pOrder
- the order which contains the itempItem
- the CommerceItem (fractional)pNewQuantity
- the new quantity to be assignedpNewQuantityWithFraction
- the new fractional quantity to be assignedCommerceException
increaseRelationshipQuantity(Order, ShippingGroupCommerceItemRelationship, double)
,
decreaseRelationshipQuantity(Order, ShippingGroupCommerceItemRelationship, double)
,
removeEntireRelationshipQuantity(Order, ShippingGroupCommerceItemRelationship)
public void adjustItemRelationshipsForQuantityChange(Order pOrder, CommerceItem pItem, long pNewQuantity, double pNewQuantityWithFraction) throws CommerceException
pOrder
- the order which contains the itempItem
- the CommerceItem (fractional or non-fractional)pNewQuantity
- the new quantity to be assigned (for a non-fractional item)pNewQuantityWithFraction
- the new fractional quantity to be assigned (for a fractional item)CommerceException
increaseRelationshipQuantity(Order, ShippingGroupCommerceItemRelationship, long, double)
,
decreaseRelationshipQuantity(Order, ShippingGroupCommerceItemRelationship, long, double)
,
removeEntireRelationshipQuantity(Order, ShippingGroupCommerceItemRelationship)
public void increaseRelationshipQuantity(Order pOrder, ShippingGroupCommerceItemRelationship pRelationship, long pQuantityIncrease) throws CommerceException
Called by adjustItemRelationshipsForQuantityChange
when the quantity of an item is being increased
for a relationship. Gift quantity is also increased, if necessary.
Gift quantities and other handling instructions are also adjusted
pOrder
- the order which contains CommerceItem having relationship 'pRelationship' with the ShippingGrouppRelationship
- the ShippingGroupCommerceItemRelationship, the quantity of which is to be increasedpQuantity
- the number by which the quantity of a relationship (non-fractional item) is to be increasedCommerceException
GiftlistManager.adjustGiftsForQuantityIncrease(Order, ShippingGroup, CommerceItem, long, long)
,
adjustNonGiftHandlingInstructionsForQuantityIncrease(Order, ShippingGroup, CommerceItem, long, long)
public void increaseRelationshipQuantity(Order pOrder, ShippingGroupCommerceItemRelationship pRelationship, double pQuantityIncreaseWithFraction) throws CommerceException
Called by adjustItemRelationshipsForQuantityChange
when the quantity of an item is being increased
for a relationship. Gift quantity is also increased, if necessary.
Gift quantities and other handling instructions are also adjusted
pOrder
- the order which contains CommerceItem having relationship 'pRelationship' with the ShippingGrouppRelationship
- the ShippingGroupCommerceItemRelationship, the quantity of which is to be increasedpQuantityIncreaseWithFraction
- the number by which the quantity of a relationship (fractional item) is to be increasedCommerceException
GiftlistManager.adjustGiftsForQuantityIncrease(Order, ShippingGroup, CommerceItem, long, long)
,
adjustNonGiftHandlingInstructionsForQuantityIncrease(Order, ShippingGroup, CommerceItem, double, double)
public void increaseRelationshipQuantity(Order pOrder, ShippingGroupCommerceItemRelationship pRelationship, long pQuantityIncrease, double pQuantityIncreaseWithFraction) throws CommerceException
Called by adjustItemRelationshipsForQuantityChange
when the quantity of an item is being increased
for a relationship. Gift quantity is also increased, if necessary.
Gift quantities and other handling instructions are also adjusted
pOrder
- the order which contains CommerceItem having relationship 'pRelationship' with the ShippingGrouppRelationship
- the ShippingGroupCommerceItemRelationship, the quantity of which is to be increasedpQuantityIncrease
- the number by which the quantity of a relationship (non-fractional) is to be increasedpQuantityIncreaseWithFraction
- the number by which the quantity of a relationship (fractional) is to be increasedCommerceException
GiftlistManager.adjustGiftsForQuantityIncrease(Order, ShippingGroup, CommerceItem, long, long)
,
adjustNonGiftHandlingInstructionsForQuantityIncrease(Order, ShippingGroup, CommerceItem, long, double, long, double)
public void removeEntireRelationshipQuantity(Order pOrder, ShippingGroupCommerceItemRelationship pRelationship) throws CommerceException
adjustItemRelationshipsForQuantityChange
when the quantity of a relationship is being
decreased to zero. This method removes all handling instructions before removing the item's quantity from the
shipping group.pOrder
- the order which contains CommerceItem having relationship 'pRelationship' with the ShippingGrouppShippingGroup
- the ShippingGroupCommerceItemRelationship, the quantity of which is to be reduced to zeropCommerceItem
- the CommerceItemCommerceException
public void decreaseRelationshipQuantity(Order pOrder, ShippingGroupCommerceItemRelationship pRelationship, long pQuantityDecrease) throws CommerceException
Called by adjustItemRelationshipsForQuantityChange
when the quantity of a relationship is being
partially decreased by the given value.
Gift quantities and other handling instructions are also adjusted
pOrder
- the order which contains CommerceItem having relationship 'pRelationship' with the ShippingGrouppRelationship
- the ShippingGroupCommerceItemRelationship, the quantity of which is to be decreasedpQuantityDecrease
- the number by which the quantity of a relationship is to be decreasedCommerceException
GiftlistManager.adjustGiftsForQuantityDecrease(Order, ShippingGroup, CommerceItem, long, long)
,
adjustNonGiftHandlingInstructionsForQuantityDecrease(Order, ShippingGroup, CommerceItem, long, long)
public void decreaseRelationshipQuantity(Order pOrder, ShippingGroupCommerceItemRelationship pRelationship, double pQuantityDecreaseWithFraction) throws CommerceException
Called by adjustItemRelationshipsForQuantityChange
when the fractional quantity of a relationship
is being partially decreased by the given value.
Gift quantities (with fraction) and other handling instructions are also adjusted
pOrder
- the order which contains CommerceItem having relationship 'pRelationship' with the ShippingGrouppRelationship
- the ShippingGroupCommerceItemRelationship, the quantity of which is to be decreasedpQuantityDecreaseWithFraction
- the fractional number by which the quantity of a relationship is to be decreasedCommerceException
GiftlistManager#adjustGiftsForQuantityDecrease(Order, ShippingGroup, CommerceItem, double, double)
,
#adjustNonGiftHandlingInstructionsForQuantityDecrease(Order, ShippingGroup, CommerceItem, double, double)
public void decreaseRelationshipQuantity(Order pOrder, ShippingGroupCommerceItemRelationship pRelationship, long pQuantityDecrease, double pQuantityDecreaseWithFraction) throws CommerceException
Called by adjustItemRelationshipsForQuantityChange
when the quantity of a relationship is being
partially decreased by the given value.
Gift quantities and other handling instructions are also adjusted
pOrder
- the order which contains CommerceItem having relationship 'pRelationship' with the ShippingGrouppRelationship
- the ShippingGroupCommerceItemRelationship, the quantity of which is to be decreasedpQuantityDecrease
- the number by which the quantity of a relationship is to be decreasedpQuantityDecreaseWithFraction
- the fractional number by which the quantity of a relationship is to be decreasedCommerceException
GiftlistManager#adjustGiftsForQuantityDecrease(Order, ShippingGroup, CommerceItem, long, double, long, double)
,
adjustNonGiftHandlingInstructionsForQuantityDecrease(Order, ShippingGroup, CommerceItem, long, double, long, double)
public void adjustNonGiftHandlingInstructionsForQuantityDecrease(Order pOrder, ShippingGroup pShippingGroup, CommerceItem pCommerceItem, long pNewQuantity, long pQuantityDecrease) throws CommerceException
This method adjusts the quantity of the handling instruction to the given new quantity if its quantity currently higher than the new quantity.
Applications should extend this method to handle custom handling instructions accordingly.
pOrder
- the OrderpShippingGroup
- ShippingGroup containing the handling instructionpCommerceItem
- the CommerceItempNewQuantity
- the quantity that will be set to the HandlingInstructionpQuantityDecrease
- the quantity to be decreasedCommerceException
public void adjustNonGiftHandlingInstructionsForQuantityDecrease(Order pOrder, ShippingGroup pShippingGroup, CommerceItem pCommerceItem, long pNewQuantity, double pNewQuantityWithFraction, long pQuantityDecrease, double pQuantityDecreaseWithFraction) throws CommerceException
This method adjusts the quantity of the handling instruction to the given new quantity if its quantity currently higher than the new quantity.
Applications should extend this method to handle custom handling instructions accordingly.
pOrder
- the OrderpShippingGroup
- ShippingGroup containing the handling instructionpCommerceItem
- the CommerceItempNewQuantity
- the quantity that will be set to the HandlingInstructionpNewQuantityWithFraction
- the fractional quantity that will be set to the HandlingInstructionpQuantityDecrease
- the quantity to be decreasedpQuantityDecreaseWithFraction
- the fractional quantity to be decreasedCommerceException
public void adjustNonGiftHandlingInstructionsForQuantityIncrease(Order pOrder, ShippingGroup pShippingGroup, CommerceItem pCommerceItem, long pNewQuantity, long pQuantityIncrease) throws CommerceException
This method increases the quantity of all non-gift handling instructions by the given quantity increase.
Applications should extend this method to handle custom handling instructions accordingly.
pOrder
- the OrderpShippingGroup
- ShippingGroup containing the handling instructionpCommerceItem
- the CommerceItempNewQuantity
- the quantity that will be set to the HandlingInstructionpQuantityIncrease
- the quantity to be increasedCommerceException
public void adjustNonGiftHandlingInstructionsForQuantityIncrease(Order pOrder, ShippingGroup pShippingGroup, CommerceItem pCommerceItem, double pNewQuantityWithFraction, double pQuantityIncreaseWithFraction) throws CommerceException
This method increases the fractional quantity of all non-gift handling instructions by the given quantity increase.
Applications should extend this method to handle custom handling instructions accordingly.
pOrder
- the OrderpShippingGroup
- ShippingGroup containing the handling instructionpCommerceItem
- the CommerceItempNewQuantityWithFraction
- the fractional quantity that will be set to the HandlingInstructionpQuantityIncreaseWithFraction
- the fractional quantity to be increasedCommerceException
public void adjustNonGiftHandlingInstructionsForQuantityIncrease(Order pOrder, ShippingGroup pShippingGroup, CommerceItem pCommerceItem, long pNewQuantity, double pNewQuantityWithFraction, long pQuantityIncrease, double pQuantityIncreaseWithFraction) throws CommerceException
This method increases the quantity (with fraction) of all non-gift handling instructions by the given quantity increase.
Applications should extend this method to handle custom handling instructions accordingly.
pOrder
- the OrderpShippingGroup
- ShippingGroup containing the handling instructionpCommerceItem
- the CommerceItempNewQuantity
- the quantity that will be set to the HandlingInstructionpNewQuantityWithFraction
- the fractional quantity that will be set to the HandlingInstructionpQuantityIncreasee
- the quantity to be increasedpQuantityIncreaseWithFraction
- the fractional quantity to be increasedCommerceException