org.broadleafcommerce.core.offer.service.discount.domain
Interface PromotableOrder

All Superinterfaces:
Serializable
All Known Implementing Classes:
PromotableOrderImpl

public interface PromotableOrder
extends Serializable


Method Summary
 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.
 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.
 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 sortBySalePrice)
          Returns all OrderItems that can receive discounts.
 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.
 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.
 

Method Detail

setOrderSubTotalToPriceWithoutAdjustments

void setOrderSubTotalToPriceWithoutAdjustments()
Sets the order subTotal to the sum of item total prices without adjustments.


setOrderSubTotalToPriceWithAdjustments

void setOrderSubTotalToPriceWithAdjustments()
Sets the order subTotal to the sum of item total prices without adjustments.


getAllOrderItems

List<PromotableOrderItem> getAllOrderItems()
Returns all OrderItems for the order wrapped with PromotableOrderItem

Returns:

getDiscountableOrderItems

List<PromotableOrderItem> getDiscountableOrderItems(boolean sortBySalePrice)
Returns all OrderItems that can receive discounts. Sorts the results by SalePrice or RetailPrice depending upon the passed in variable.

Parameters:
sortBySalePrice -
Returns:

getDiscountableOrderItems

List<PromotableOrderItem> getDiscountableOrderItems()
Returns all OrderItems that can receive discounts.

Parameters:
applyDiscountToSalePrice -
Returns:

getFulfillmentGroups

List<PromotableFulfillmentGroup> getFulfillmentGroups()
Returns the fulfillmentGroups associated with the order after converting them to promotableFulfillmentGroups.

Returns:

isHasOrderAdjustments

boolean isHasOrderAdjustments()
Returns true if this promotableOrder has any order adjustments.

Returns:

getCandidateOrderAdjustments

List<PromotableOrderAdjustment> getCandidateOrderAdjustments()
Returns the list of orderAdjustments being proposed for the order. This will be converted to actual order adjustments on completion of the offer processing.

Returns:

addCandidateOrderAdjustment

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.

Parameters:
orderAdjustment -

removeAllCandidateOfferAdjustments

void removeAllCandidateOfferAdjustments()
Removes all order, order item, and fulfillment adjustments from the order and resets the adjustment price.


removeAllCandidateOrderOfferAdjustments

void removeAllCandidateOrderOfferAdjustments()
Removes all order adjustments from the order and resets the adjustment price.


removeAllCandidateItemOfferAdjustments

void removeAllCandidateItemOfferAdjustments()
Removes all adjustments from the order's order items and resets the adjustment price for each item.


removeAllCandidateFulfillmentOfferAdjustments

void removeAllCandidateFulfillmentOfferAdjustments()
Removes all adjustments from the order's fulfillment items and resets the adjustment price for each item.


updateRuleVariables

void updateRuleVariables(Map<String,Object> ruleVars)
Adds the underlying order to the rule variable map.


getOrder

Order getOrder()
Returns the associated order.


isTotalitarianOfferApplied

boolean isTotalitarianOfferApplied()
Returns true if a totalitarian offer has been applied. A totalitarian offer is an offer that does not allow any other offers to be used at the same time. As opposed to a "non-combinable" offer which can't be used with other offers of the same type but can be used with other offers of a different type (e.g. a non-combinable order offer can be used with a non-combinable item offer).

Returns:

calculateOrderAdjustmentTotal

Money calculateOrderAdjustmentTotal()
Calculates the total adjustment to be received from the order adjustments.

Returns:

calculateItemAdjustmentTotal

Money calculateItemAdjustmentTotal()
Calculates the total adjustment to be received from the item adjustments.

Returns:

getAllPromotableOrderItemPriceDetails

List<PromotableOrderItemPriceDetail> getAllPromotableOrderItemPriceDetails()
Returns all of the price detail items for this order.

Returns:

canApplyOrderOffer

boolean canApplyOrderOffer(PromotableCandidateOrderOffer offer)
Returns true if this order can apply another order promotion. Returns false if a totalitarian or not-combinable offer has already been applied Returns false if the passed in order is not-combinable or totalitarian and this order already has adjustments


getOrderCurrency

BroadleafCurrency getOrderCurrency()
Returns the BroadleafCurrency for the current order.

Returns:

setTotalFufillmentCharges

void setTotalFufillmentCharges(Money totalFulfillmentCharges)
Sets the total fulfillmentCharges the order.

Parameters:
totalFulfillmentCharges -

calculateSubtotalWithoutAdjustments

Money calculateSubtotalWithoutAdjustments()
Returns the price of the order without adjustments.

Returns:

calculateSubtotalWithAdjustments

Money calculateSubtotalWithAdjustments()
Returns the price of the order with adjustments.

Returns:

isIncludeOrderAndItemAdjustments

boolean isIncludeOrderAndItemAdjustments()
Returns true if this order was created in a way that existing order and item adjustments were copied over to this item.

Returns:

isTotalitarianOrderOfferApplied

boolean isTotalitarianOrderOfferApplied()

isTotalitarianItemOfferApplied

boolean isTotalitarianItemOfferApplied()

isTotalitarianFgOfferApplied

boolean isTotalitarianFgOfferApplied()


Copyright © 2013. All Rights Reserved.