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 Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanbooleanjavax.money.MonetaryAmountThe amount of the prorated adjustment for the item.The code used (if any) that triggered the application of the offer for this adjustment.The details about how this prorated adjustment on a per-quantity basis.TheLineItemRefof theLineItemthat gets this adjustment.getOffer()TheOfferReffor the offer where this prorated adjustment is from.intThe quantity of merchandising items from theEnhancedLineItemto which this adjustment applies.inthashCode()voidsetAmount(javax.money.MonetaryAmount amount) The amount of the prorated adjustment for the item.voidsetCodeUsed(String codeUsed) The code used (if any) that triggered the application of the offer for this adjustment.voidsetItemProrationDetails(List<ItemProrationDetail> itemProrationDetails) The details about how this prorated adjustment on a per-quantity basis.voidsetLineItem(LineItemRef lineItem) TheLineItemRefof theLineItemthat gets this adjustment.voidTheOfferReffor the offer where this prorated adjustment is from.voidsetQuantity(int quantity) The quantity of merchandising items from theEnhancedLineItemto which this adjustment applies.toString()
-
Constructor Details
-
ProratedOfferAdjustmentDto
public ProratedOfferAdjustmentDto()
-
-
Method Details
-
getLineItem
TheLineItemRefof theLineItemthat gets this adjustment.- Specified by:
getLineItemin interfaceProratedOfferAdjustment- Returns:
- The
LineItemRefof theLineItemthat gets this adjustment.
-
getOffer
TheOfferReffor the offer where this prorated adjustment is from.- Specified by:
getOfferin interfaceProratedOfferAdjustment- Returns:
- The
OfferReffor 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:
getAmountin interfaceProratedOfferAdjustment- Returns:
- The amount of the prorated adjustment for the item.
-
getQuantity
public int getQuantity()The quantity of merchandising items from theEnhancedLineItemto which this adjustment applies.- Specified by:
getQuantityin interfaceProratedOfferAdjustment- Returns:
- The quantity of merchandising items from the
EnhancedLineItemto which this adjustment applies.
-
getCodeUsed
The code used (if any) that triggered the application of the offer for this adjustment.- Specified by:
getCodeUsedin interfaceProratedOfferAdjustment- Returns:
- The code used (if any) that triggered the application of the offer for this adjustment.
-
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:
getItemProrationDetailsin interfaceProratedOfferAdjustment- Returns:
- The details about how this prorated adjustment on a per-quantity basis.
-
setLineItem
TheLineItemRefof theLineItemthat gets this adjustment.- Specified by:
setLineItemin interfaceProratedOfferAdjustment
-
setOffer
TheOfferReffor the offer where this prorated adjustment is from.- Specified by:
setOfferin interfaceProratedOfferAdjustment
-
setAmount
public void setAmount(javax.money.MonetaryAmount amount) The amount of the prorated adjustment for the item.- Specified by:
setAmountin interfaceProratedOfferAdjustment
-
setQuantity
public void setQuantity(int quantity) The quantity of merchandising items from theEnhancedLineItemto which this adjustment applies.- Specified by:
setQuantityin interfaceProratedOfferAdjustment- Parameters:
quantity- The quantity of merchandising items from theEnhancedLineItemto which this adjustment applies.
-
setCodeUsed
The code used (if any) that triggered the application of the offer for this adjustment.- Specified by:
setCodeUsedin interfaceProratedOfferAdjustment- Parameters:
codeUsed- The code used (if any) that triggered the application of the offer for this adjustment.
-
setItemProrationDetails
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:
setItemProrationDetailsin interfaceProratedOfferAdjustment- Parameters:
itemProrationDetails- The details about how this prorated adjustment on a per-quantity basis.
-
equals
-
canEqual
-
hashCode
public int hashCode() -
toString
-