Interface PromotableFulfillmentGroup

All Superinterfaces:
Serializable
All Known Implementing Classes:
PromotableFulfillmentGroupImpl

public interface PromotableFulfillmentGroup extends Serializable
  • Method Details

    • addCandidateFulfillmentGroupAdjustment

      void addCandidateFulfillmentGroupAdjustment(PromotableFulfillmentGroupAdjustment adjustment)
      Adds a fulfillmentGroupAdjustment
    • getCandidateFulfillmentGroupAdjustments

      List<PromotableFulfillmentGroupAdjustment> getCandidateFulfillmentGroupAdjustments()
      Adds a fulfillmentGroupAdjustment
      Returns:
    • removeAllCandidateAdjustments

      void removeAllCandidateAdjustments()
      Removes all candidate adjustments
    • chooseSaleOrRetailAdjustments

      void chooseSaleOrRetailAdjustments()
      This method will check to see if the saleAdjustments or retail only adjustments are better and finalize the set that achieves the best result for the customer.
    • getFulfillmentGroup

      FulfillmentGroup getFulfillmentGroup()
      Returns the decorated FulfillmentGroup
    • updateRuleVariables

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

      Money calculatePriceWithAdjustments(boolean useSalePrice)
      Calculates the price with adjustments. Uses the sale or retail adjustments based on the passed in parameter.
      Parameters:
      useSalePrice -
    • getFinalizedPriceWithAdjustments

      Money getFinalizedPriceWithAdjustments()
      Calculates the price with all adjustments. May error in the case where adjustments have not been finalized with a call to chooseSaleOrRetailAdjustments.
    • getDiscountableOrderItems

      List<PromotableOrderItem> getDiscountableOrderItems()
      Return list of discountable discrete order items contained in this fulfillmentGroup.
      Returns:
    • canApplyOffer

      boolean canApplyOffer(PromotableCandidateFulfillmentGroupOffer fulfillmentGroupOffer)
      Checks to see if the offer can be added to this fulfillmentGroup based on whether or not it is combinable or if this fulfillmentGroup already has a non-combinable offer applied.
      Parameters:
      fulfillmentGroupOffer -
      Returns:
    • calculatePriceWithoutAdjustments

      Money calculatePriceWithoutAdjustments()
      Returns the price of this fulfillment group if no adjustments were applied.
      Returns:
    • isTotalitarianOfferApplied

      boolean isTotalitarianOfferApplied()
      Returns true if totalitarian offer was applied to this promotable fulfillment group.
      Returns: