public class PromotableOrderImpl extends Object implements PromotableOrder
| Modifier and Type | Field and Description |
|---|---|
protected List<PromotableOrderItem> |
allOrderItems |
protected List<PromotableOrderAdjustment> |
candidateOrderOfferAdjustments |
protected boolean |
currentSortParam |
protected List<PromotableOrderItem> |
discountableOrderItems |
protected Map<String,Object> |
extraDataMap |
protected List<PromotableFulfillmentGroup> |
fulfillmentGroups |
protected boolean |
includeOrderAndItemAdjustments |
protected PromotableItemFactory |
itemFactory |
protected Order |
order |
| Constructor and Description |
|---|
PromotableOrderImpl(Order order,
PromotableItemFactory itemFactory,
boolean includeOrderAndItemAdjustments) |
| Modifier and Type | Method and Description |
|---|---|
void |
addCandidateOrderAdjustment(PromotableOrderAdjustment orderAdjustment)
Adds the adjustment to the order's adjustment list and discounts the
order's adjustment price by the value of the adjustment.
|
protected void |
addPromotableOrderItem(OrderItem orderItem,
List<PromotableOrderItem> discountableOrderItems) |
protected List<PromotableOrderItem> |
buildPromotableOrderItemsList() |
Money |
calculateItemAdjustmentTotal()
Calculates the total adjustment to be received from the item adjustments.
|
Money |
calculateOrderAdjustmentTotal()
Calculates the total adjustment to be received from the order adjustments.
|
Money |
calculateSubtotalWithAdjustments()
Returns the price of the order with adjustments.
|
Money |
calculateSubtotalWithoutAdjustments()
Returns the price of the order without adjustments.
|
boolean |
canApplyOrderOffer(PromotableCandidateOrderOffer offer)
Returns true if this order can apply another order promotion.
|
protected void |
createExistingOrderAdjustments()
Bring over the order adjustments.
|
List<PromotableOrderItem> |
getAllOrderItems()
Returns all OrderItems for the order wrapped with PromotableOrderItem
|
List<PromotableOrderItemPriceDetail> |
getAllPromotableOrderItemPriceDetails()
Returns all of the price detail items for this order.
|
List<PromotableOrderAdjustment> |
getCandidateOrderAdjustments()
Returns the list of orderAdjustments being proposed for the order.
|
List<PromotableOrderItem> |
getDiscountableOrderItems()
Returns all OrderItems that can receive discounts.
|
List<PromotableOrderItem> |
getDiscountableOrderItems(boolean applyDiscountToSalePrice)
Returns all OrderItems that can receive discounts.
|
Map<String,Object> |
getExtraDataMap()
Map available to implementations to store data needed for custom logic.
|
List<PromotableFulfillmentGroup> |
getFulfillmentGroups()
Returns the fulfillmentGroups associated with the order after converting them to
promotableFulfillmentGroups.
|
Order |
getOrder()
Returns the associated order.
|
BroadleafCurrency |
getOrderCurrency()
Returns the
BroadleafCurrency for the current order. |
boolean |
isHasOrderAdjustments()
Returns true if this promotableOrder has any order adjustments.
|
boolean |
isIncludeOrderAndItemAdjustments()
Returns true if this order was created in a way that existing order and item adjustments
were copied over to this item.
|
protected boolean |
isNotCombinableOrderOfferApplied() |
boolean |
isTotalitarianFgOfferApplied() |
boolean |
isTotalitarianItemOfferApplied() |
boolean |
isTotalitarianOfferApplied()
Returns true if a totalitarian offer has been applied.
|
boolean |
isTotalitarianOrderOfferApplied() |
void |
removeAllCandidateFulfillmentOfferAdjustments()
Removes all adjustments from the order's fulfillment items and resets the
adjustment price for each item.
|
void |
removeAllCandidateItemOfferAdjustments()
Removes all adjustments from the order's order items and resets the
adjustment price for each item.
|
void |
removeAllCandidateOfferAdjustments()
Removes all order, order item, and fulfillment adjustments from the order
and resets the adjustment price.
|
void |
removeAllCandidateOrderOfferAdjustments()
Removes all order adjustments from the order and resets the adjustment
price.
|
void |
setOrderSubTotalToPriceWithAdjustments()
Sets the order subTotal to the sum of item total prices without
adjustments.
|
void |
setOrderSubTotalToPriceWithoutAdjustments()
Sets the order subTotal to the sum of item total prices without
adjustments.
|
void |
setTotalFufillmentCharges(Money totalFulfillmentCharges)
Sets the total fulfillmentCharges the order.
|
void |
updateRuleVariables(Map<String,Object> ruleVars)
Adds the underlying order to the rule variable map.
|
protected PromotableItemFactory itemFactory
protected Order order
protected List<PromotableOrderItem> allOrderItems
protected List<PromotableOrderItem> discountableOrderItems
protected boolean currentSortParam
protected List<PromotableFulfillmentGroup> fulfillmentGroups
protected List<PromotableOrderAdjustment> candidateOrderOfferAdjustments
protected boolean includeOrderAndItemAdjustments
public PromotableOrderImpl(Order order, PromotableItemFactory itemFactory, boolean includeOrderAndItemAdjustments)
protected void createExistingOrderAdjustments()
public void setOrderSubTotalToPriceWithoutAdjustments()
PromotableOrdersetOrderSubTotalToPriceWithoutAdjustments in interface PromotableOrderpublic void setOrderSubTotalToPriceWithAdjustments()
PromotableOrdersetOrderSubTotalToPriceWithAdjustments in interface PromotableOrderpublic List<PromotableOrderItem> getAllOrderItems()
PromotableOrdergetAllOrderItems in interface PromotableOrderpublic List<PromotableOrderItem> getDiscountableOrderItems()
PromotableOrdergetDiscountableOrderItems in interface PromotableOrderpublic List<PromotableOrderItem> getDiscountableOrderItems(boolean applyDiscountToSalePrice)
PromotableOrdergetDiscountableOrderItems in interface PromotableOrderprotected List<PromotableOrderItem> buildPromotableOrderItemsList()
protected void addPromotableOrderItem(OrderItem orderItem, List<PromotableOrderItem> discountableOrderItems)
public List<PromotableFulfillmentGroup> getFulfillmentGroups()
PromotableOrdergetFulfillmentGroups in interface PromotableOrderpublic boolean isHasOrderAdjustments()
PromotableOrderisHasOrderAdjustments in interface PromotableOrderpublic List<PromotableOrderAdjustment> getCandidateOrderAdjustments()
PromotableOrdergetCandidateOrderAdjustments in interface PromotableOrderpublic void addCandidateOrderAdjustment(PromotableOrderAdjustment orderAdjustment)
PromotableOrderaddCandidateOrderAdjustment in interface PromotableOrderpublic void removeAllCandidateOfferAdjustments()
PromotableOrderremoveAllCandidateOfferAdjustments in interface PromotableOrderpublic void removeAllCandidateOrderOfferAdjustments()
PromotableOrderremoveAllCandidateOrderOfferAdjustments in interface PromotableOrderpublic void removeAllCandidateItemOfferAdjustments()
PromotableOrderremoveAllCandidateItemOfferAdjustments in interface PromotableOrderpublic void removeAllCandidateFulfillmentOfferAdjustments()
PromotableOrderremoveAllCandidateFulfillmentOfferAdjustments in interface PromotableOrderpublic void updateRuleVariables(Map<String,Object> ruleVars)
PromotableOrderupdateRuleVariables in interface PromotableOrderpublic Order getOrder()
PromotableOrdergetOrder in interface PromotableOrderpublic boolean isTotalitarianOfferApplied()
PromotableOrderisTotalitarianOfferApplied in interface PromotableOrderpublic boolean isTotalitarianOrderOfferApplied()
isTotalitarianOrderOfferApplied in interface PromotableOrderpublic boolean isTotalitarianItemOfferApplied()
isTotalitarianItemOfferApplied in interface PromotableOrderpublic boolean isTotalitarianFgOfferApplied()
isTotalitarianFgOfferApplied in interface PromotableOrderpublic Money calculateOrderAdjustmentTotal()
PromotableOrdercalculateOrderAdjustmentTotal in interface PromotableOrderpublic Money calculateItemAdjustmentTotal()
PromotableOrdercalculateItemAdjustmentTotal in interface PromotableOrderpublic List<PromotableOrderItemPriceDetail> getAllPromotableOrderItemPriceDetails()
PromotableOrdergetAllPromotableOrderItemPriceDetails in interface PromotableOrderpublic BroadleafCurrency getOrderCurrency()
PromotableOrderBroadleafCurrency for the current order.getOrderCurrency in interface PromotableOrderpublic void setTotalFufillmentCharges(Money totalFulfillmentCharges)
PromotableOrdersetTotalFufillmentCharges in interface PromotableOrderprotected boolean isNotCombinableOrderOfferApplied()
public boolean canApplyOrderOffer(PromotableCandidateOrderOffer offer)
PromotableOrdercanApplyOrderOffer in interface PromotableOrderpublic Money calculateSubtotalWithoutAdjustments()
PromotableOrdercalculateSubtotalWithoutAdjustments in interface PromotableOrderpublic Money calculateSubtotalWithAdjustments()
PromotableOrdercalculateSubtotalWithAdjustments in interface PromotableOrderpublic boolean isIncludeOrderAndItemAdjustments()
PromotableOrderisIncludeOrderAndItemAdjustments in interface PromotableOrderpublic Map<String,Object> getExtraDataMap()
PromotableOrdergetExtraDataMap in interface PromotableOrderCopyright © 2014. All Rights Reserved.