Class ProratedOfferAdjustmentDto

java.lang.Object
com.broadleafcommerce.promotion.offer.client.web.context.info.ProratedOfferAdjustmentDto
All Implemented Interfaces:
ProratedOfferAdjustment, Serializable

public class ProratedOfferAdjustmentDto extends Object implements ProratedOfferAdjustment, Serializable
DTO containing prorated price adjustment information for a EnhancedLineItem caused by an order-level or fulfillment group-level offer.

If there's an order-level offer applied to the order, the offer adjustment would be spread across all the discountable EnhancedLineItems.

Practically, this information is only needed for downstream services since the total discount is the same for the EnhancedLineItem.

Author:
Sunny Yu
See Also:
  • Constructor Details

    • ProratedOfferAdjustmentDto

      public ProratedOfferAdjustmentDto()
  • Method Details

    • getLineItem

      public LineItemRef getLineItem()
      The LineItemRef of the LineItem that gets this adjustment.
      Specified by:
      getLineItem in interface ProratedOfferAdjustment
      Returns:
      The LineItemRef of the LineItem that gets this adjustment.
    • getOffer

      public OfferRef getOffer()
      The OfferRef for the offer where this prorated adjustment is from.
      Specified by:
      getOffer in interface ProratedOfferAdjustment
      Returns:
      The OfferRef for the offer where this prorated adjustment is from.
    • getAmount

      public javax.money.MonetaryAmount getAmount()
      The amount of the prorated adjustment for the item.
      Specified by:
      getAmount in interface ProratedOfferAdjustment
      Returns:
      The amount of the prorated adjustment for the item.
    • getQuantity

      public int getQuantity()
      The quantity of merchandising items from the EnhancedLineItem to which this adjustment applies.
      Specified by:
      getQuantity in interface ProratedOfferAdjustment
      Returns:
      The quantity of merchandising items from the EnhancedLineItem to which this adjustment applies.
    • getCodeUsed

      public String getCodeUsed()
      The code used (if any) that triggered the application of the offer for this adjustment.
      Specified by:
      getCodeUsed in interface ProratedOfferAdjustment
      Returns:
      The code used (if any) that triggered the application of the offer for this adjustment.
    • getItemProrationDetails

      public List<ItemProrationDetail> getItemProrationDetails()
      The details about how this prorated adjustment on a per-quantity basis.

      For example, if the prorated adjustment for this item is $5 and this item has a quantity of 3, there should be one detail with quantity of 2 and amount of $1.67, and one detail with quantity of 1 and amount of $1.66, totaling to $5

      Specified by:
      getItemProrationDetails in interface ProratedOfferAdjustment
      Returns:
      The details about how this prorated adjustment on a per-quantity basis.
    • setLineItem

      public void setLineItem(LineItemRef lineItem)
      The LineItemRef of the LineItem that gets this adjustment.
      Specified by:
      setLineItem in interface ProratedOfferAdjustment
    • setOffer

      public void setOffer(OfferRef offer)
      The OfferRef for the offer where this prorated adjustment is from.
      Specified by:
      setOffer in interface ProratedOfferAdjustment
    • setAmount

      public void setAmount(javax.money.MonetaryAmount amount)
      The amount of the prorated adjustment for the item.
      Specified by:
      setAmount in interface ProratedOfferAdjustment
    • setQuantity

      public void setQuantity(int quantity)
      The quantity of merchandising items from the EnhancedLineItem to which this adjustment applies.
      Specified by:
      setQuantity in interface ProratedOfferAdjustment
      Parameters:
      quantity - The quantity of merchandising items from the EnhancedLineItem to which this adjustment applies.
    • setCodeUsed

      public void setCodeUsed(String codeUsed)
      The code used (if any) that triggered the application of the offer for this adjustment.
      Specified by:
      setCodeUsed in interface ProratedOfferAdjustment
      Parameters:
      codeUsed - The code used (if any) that triggered the application of the offer for this adjustment.
    • setItemProrationDetails

      public void setItemProrationDetails(List<ItemProrationDetail> itemProrationDetails)
      The details about how this prorated adjustment on a per-quantity basis.

      For example, if the prorated adjustment for this item is $5 and this item has a quantity of 3, there should be one detail with quantity of 2 and amount of $1.67, and one detail with quantity of 1 and amount of $1.66, totaling to $5

      Specified by:
      setItemProrationDetails in interface ProratedOfferAdjustment
      Parameters:
      itemProrationDetails - The details about how this prorated adjustment on a per-quantity basis.
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • canEqual

      protected boolean canEqual(Object other)
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object