|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.broadleafcommerce.core.order.domain.OrderItemImpl
@Entity public class OrderItemImpl
| Field Summary | |
|---|---|
protected List<CandidateItemOffer> |
candidateItemOffers
|
protected Category |
category
|
protected Boolean |
discountsAllowed
|
protected GiftWrapOrderItem |
giftWrapOrderItem
|
protected Long |
id
|
protected Boolean |
itemTaxable
|
protected String |
name
|
protected Order |
order
|
protected List<OrderItemAdjustment> |
orderItemAdjustments
|
protected Map<String,OrderItemAttribute> |
orderItemAttributeMap
|
protected List<OrderItemPriceDetail> |
orderItemPriceDetails
|
protected List<OrderItemQualifier> |
orderItemQualifiers
|
protected String |
orderItemType
|
protected PersonalMessage |
personalMessage
|
protected BigDecimal |
price
|
protected int |
quantity
|
protected BigDecimal |
retailPrice
|
protected Boolean |
retailPriceOverride
|
protected BigDecimal |
salePrice
|
protected Boolean |
salePriceOverride
|
protected BigDecimal |
totalTax
|
| Constructor Summary | |
|---|---|
OrderItemImpl()
|
|
| Method Summary | |
|---|---|
void |
addCandidateItemOffer(CandidateItemOffer candidateItemOffer)
Used by the promotion engine to add offers that might apply to this orderItem. |
void |
assignFinalPrice()
Used to set the final price of the item and corresponding details. |
void |
checkCloneable(OrderItem orderItem)
|
OrderItem |
clone()
|
protected OrderItemType |
convertOrderItemType(String type)
|
protected Money |
convertToMoney(BigDecimal amount)
|
boolean |
equals(Object obj)
|
void |
finalizePrice()
Called by the pricing engine after prices have been computed. |
Money |
getAdjustmentValue()
|
Money |
getAverageAdjustmentValue()
Returns the average unit item adjustments. |
Money |
getAveragePrice()
Returns the average unit display price for the item. |
List<CandidateItemOffer> |
getCandidateItemOffers()
|
Category |
getCategory()
|
GiftWrapOrderItem |
getGiftWrapOrderItem()
|
Long |
getId()
The unique identifier of this OrderItem |
boolean |
getIsDiscounted()
Returns true if this item received a discount. |
boolean |
getIsOnSale()
Default implementation uses OrderItem.getSalePrice() < OrderItem.getRetailPrice() |
String |
getName()
Generally copied from the Sku.getName() |
Order |
getOrder()
Reference back to the containing order. |
List<OrderItemAdjustment> |
getOrderItemAdjustments()
Returns item level adjustment for versions of Broadleaf Commerce prior to 2.3.0 which replaced this concept with OrderItemPriceDetail adjustments. |
Map<String,OrderItemAttribute> |
getOrderItemAttributes()
A list of arbitrary attributes added to this item. |
List<OrderItemPriceDetail> |
getOrderItemPriceDetails()
Collection of priceDetails for this orderItem. |
List<OrderItemQualifier> |
getOrderItemQualifiers()
If any quantity of this item was used to qualify for an offer, then this returned list will indicate the offer and the relevant quantity. |
OrderItemType |
getOrderItemType()
|
PersonalMessage |
getPersonalMessage()
|
Money |
getPrice()
|
Money |
getPriceBeforeAdjustments(boolean allowSalesPrice)
Returns the unit price of this item. |
int |
getQuantity()
The quantity of this OrderItem. |
Money |
getRetailPrice()
The retail price of the item that was added to the Order at the time that this was added. |
Money |
getSalePrice()
Returns the salePrice for this item. |
Money |
getTaxablePrice()
|
Money |
getTotalAdjustmentValue()
Returns the total for all item level adjustments. |
Money |
getTotalPrice()
Returns the total price to be paid for this order item including item-level adjustments. |
int |
hashCode()
|
boolean |
isDiscountingAllowed()
If true, this item can be discounted.. |
boolean |
isInCategory(String categoryName)
|
boolean |
isRetailPriceOverride()
Returns true if the retail price was manually set. |
boolean |
isSalePriceOverride()
Returns true if the sale price was manually set. |
Boolean |
isTaxable()
Returns whether or not this item is taxable. |
int |
removeAllAdjustments()
Removes all adjustment for this order item and reset the adjustment price. |
void |
removeAllCandidateItemOffers()
Removes all candidate offers. |
void |
setCandidateItemOffers(List<CandidateItemOffer> candidateItemOffers)
|
void |
setCategory(Category category)
|
void |
setDiscountingAllowed(boolean discountsAllowed)
Turns off discount processing for this line item. |
void |
setGiftWrapOrderItem(GiftWrapOrderItem giftWrapOrderItem)
|
void |
setId(Long id)
Sets the unique id of the OrderItem. |
void |
setName(String name)
Sets the name of this order item. |
void |
setOrder(Order order)
Sets the order for this orderItem. |
void |
setOrderItemAdjustments(List<OrderItemAdjustment> orderItemAdjustments)
|
void |
setOrderItemAttributes(Map<String,OrderItemAttribute> orderItemAttributes)
Sets the map of order item attributes. |
void |
setOrderItemPriceDetails(List<OrderItemPriceDetail> orderItemPriceDetails)
Returns the list of orderItem price details. |
void |
setOrderItemQualifiers(List<OrderItemQualifier> orderItemQualifiers)
Sets the list of OrderItemQualifiers |
void |
setOrderItemType(OrderItemType orderItemType)
|
void |
setPersonalMessage(PersonalMessage personalMessage)
|
void |
setPrice(Money finalPrice)
|
void |
setQuantity(int quantity)
Sets the quantity of this item |
void |
setRetailPrice(Money retailPrice)
Calling this method will manually set the retailPrice. |
void |
setRetailPriceOverride(boolean override)
Indicates that the retail price was manually set. |
void |
setSalePrice(Money salePrice)
Calling this method will manually set the salePrice. |
void |
setSalePriceOverride(boolean override)
Indicates that the sale price was manually set. |
void |
setTaxable(Boolean taxable)
Sets whether or not this item is taxable. |
boolean |
updateSaleAndRetailPrices()
Used to reset the base price of the item that the pricing engine uses. |
| Methods inherited from class java.lang.Object |
|---|
finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected Long id
protected Category category
protected Order order
protected BigDecimal price
protected int quantity
protected BigDecimal retailPrice
protected BigDecimal salePrice
protected String name
protected PersonalMessage personalMessage
protected GiftWrapOrderItem giftWrapOrderItem
protected List<OrderItemAdjustment> orderItemAdjustments
protected List<OrderItemQualifier> orderItemQualifiers
protected List<CandidateItemOffer> candidateItemOffers
protected List<OrderItemPriceDetail> orderItemPriceDetails
protected String orderItemType
protected Boolean itemTaxable
protected Boolean retailPriceOverride
protected Boolean salePriceOverride
protected Boolean discountsAllowed
protected Map<String,OrderItemAttribute> orderItemAttributeMap
protected BigDecimal totalTax
| Constructor Detail |
|---|
public OrderItemImpl()
| Method Detail |
|---|
public Money getRetailPrice()
OrderItemOrder at the time that this was added. This is preferable
to use as opposed to checking the price of the item that was added from the catalog domain (like in
DiscreteOrderItem, using DiscreteOrderItem.getSku()'s retail price) since the price in the catalog
domain could have changed since the item was added to the Order.
getRetailPrice in interface OrderItempublic void setRetailPrice(Money retailPrice)
OrderItem#setRetailPriceOverride(true)
Consider also calling OrderItem.setDiscountingAllowed(boolean) with a value of false to restrict
discounts after manually setting the retail price.
setRetailPrice in interface OrderItempublic Money getSalePrice()
OrderItemOrderItem.updateSaleAndRetailPrices() will ensure that the
retailPrice being used is current.
getSalePrice in interface OrderItempublic void setSalePrice(Money salePrice)
OrderItem#setSalePriceSetManually(true)
To avoid the pricing engine resetting this price, you should also make a call to
#setSalePriceOverride(true)
Typically for DiscreteOrderItems, the prices will be set with a call to OrderItem.updateSaleAndRetailPrices()
which will use the Broadleaf dynamic pricing engine or the values directly tied to the SKU.
setSalePrice in interface OrderItempublic Money getPrice()
getPrice in interface OrderItempublic void setPrice(Money finalPrice)
setPrice in interface OrderItempublic Money getTaxablePrice()
getTaxablePrice in interface OrderItempublic int getQuantity()
OrderItemOrderItem.
getQuantity in interface OrderItempublic void setQuantity(int quantity)
OrderItem
setQuantity in interface OrderItempublic Category getCategory()
getCategory in interface OrderItempublic void setCategory(Category category)
setCategory in interface OrderItempublic List<CandidateItemOffer> getCandidateItemOffers()
getCandidateItemOffers in interface OrderItempublic void setCandidateItemOffers(List<CandidateItemOffer> candidateItemOffers)
setCandidateItemOffers in interface OrderItempublic PersonalMessage getPersonalMessage()
getPersonalMessage in interface OrderItempublic void setPersonalMessage(PersonalMessage personalMessage)
setPersonalMessage in interface OrderItempublic Order getOrder()
OrderItem
getOrder in interface OrderItempublic void setOrder(Order order)
OrderItem
setOrder in interface OrderItempublic Long getId()
OrderItem
getId in interface OrderItempublic void setId(Long id)
OrderItem
setId in interface OrderItempublic String getName()
OrderItem
getName in interface OrderItempublic void setName(String name)
OrderItem
setName in interface OrderItempublic boolean isInCategory(String categoryName)
isInCategory in interface OrderItempublic List<OrderItemQualifier> getOrderItemQualifiers()
OrderItem
getOrderItemQualifiers in interface OrderItempublic void setOrderItemQualifiers(List<OrderItemQualifier> orderItemQualifiers)
OrderItem
setOrderItemQualifiers in interface OrderItempublic List<OrderItemAdjustment> getOrderItemAdjustments()
OrderItem
getOrderItemAdjustments in interface OrderItempublic void setOrderItemAdjustments(List<OrderItemAdjustment> orderItemAdjustments)
setOrderItemAdjustments in interface OrderItempublic Money getAdjustmentValue()
getAdjustmentValue in interface OrderItempublic GiftWrapOrderItem getGiftWrapOrderItem()
getGiftWrapOrderItem in interface OrderItempublic void setGiftWrapOrderItem(GiftWrapOrderItem giftWrapOrderItem)
setGiftWrapOrderItem in interface OrderItempublic OrderItemType getOrderItemType()
getOrderItemType in interface OrderItempublic void setOrderItemType(OrderItemType orderItemType)
setOrderItemType in interface OrderItempublic boolean getIsOnSale()
OrderItemOrderItem.getSalePrice() < OrderItem.getRetailPrice()
getIsOnSale in interface OrderItempublic boolean getIsDiscounted()
OrderItem
getIsDiscounted in interface OrderItempublic boolean updateSaleAndRetailPrices()
OrderItem
updateSaleAndRetailPrices in interface OrderItempublic void finalizePrice()
OrderItem
finalizePrice in interface OrderItempublic void assignFinalPrice()
OrderItem
assignFinalPrice in interface OrderItempublic Money getPriceBeforeAdjustments(boolean allowSalesPrice)
OrderItem
getPriceBeforeAdjustments in interface OrderItempublic void addCandidateItemOffer(CandidateItemOffer candidateItemOffer)
OrderItem
addCandidateItemOffer in interface OrderItempublic void removeAllCandidateItemOffers()
OrderItem
removeAllCandidateItemOffers in interface OrderItempublic int removeAllAdjustments()
OrderItem
removeAllAdjustments in interface OrderItempublic Map<String,OrderItemAttribute> getOrderItemAttributes()
getOrderItemAttributes in interface OrderItempublic void setOrderItemAttributes(Map<String,OrderItemAttribute> orderItemAttributes)
setOrderItemAttributes in interface OrderItemorderItemAttributes -
public void checkCloneable(OrderItem orderItem)
throws CloneNotSupportedException,
SecurityException,
NoSuchMethodException
CloneNotSupportedException
SecurityException
NoSuchMethodExceptionprotected Money convertToMoney(BigDecimal amount)
protected OrderItemType convertOrderItemType(String type)
public OrderItem clone()
clone in interface OrderItemclone in class Objectpublic int hashCode()
hashCode in class Objectpublic boolean equals(Object obj)
equals in class Objectpublic Boolean isTaxable()
OrderItem
isTaxable in interface OrderItempublic void setTaxable(Boolean taxable)
OrderItem
setTaxable in interface OrderItempublic void setOrderItemPriceDetails(List<OrderItemPriceDetail> orderItemPriceDetails)
OrderItem
setOrderItemPriceDetails in interface OrderItem#getOrderItemPriceDetails()}public boolean isDiscountingAllowed()
OrderItem
isDiscountingAllowed in interface OrderItempublic void setDiscountingAllowed(boolean discountsAllowed)
OrderItem
setDiscountingAllowed in interface OrderItempublic Money getAveragePrice()
OrderItem
getAveragePrice in interface OrderItempublic Money getAverageAdjustmentValue()
OrderItemOrderItem.getAveragePrice()
for an example of this.
Implementations wishing to show unit prices may choose instead to show the individual OrderItemPriceDetails
instead of this value to avoid the rounding problem. This would result in multiple cart item
display rows for each OrderItem.
Alternatively, the cart display should use OrderItem.getTotalAdjustmentValue().
getAverageAdjustmentValue in interface OrderItempublic Money getTotalAdjustmentValue()
OrderItem
getTotalAdjustmentValue in interface OrderItempublic Money getTotalPrice()
OrderItem
getTotalPrice in interface OrderItempublic void setRetailPriceOverride(boolean override)
OrderItemOrderItem.setRetailPrice(Money)
setRetailPriceOverride in interface OrderItempublic boolean isRetailPriceOverride()
OrderItem
isRetailPriceOverride in interface OrderItempublic void setSalePriceOverride(boolean override)
OrderItemOrderItem.setDiscountingAllowed(boolean) with a value of false to restrict
discounts after manually setting the retail price.
If the salePrice is not lower than the retailPrice, the system will return the retailPrice when
a call to OrderItem.getSalePrice() is made.
setSalePriceOverride in interface OrderItempublic boolean isSalePriceOverride()
OrderItem
isSalePriceOverride in interface OrderItempublic List<OrderItemPriceDetail> getOrderItemPriceDetails()
OrderItem
getOrderItemPriceDetails in interface OrderItem
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||