Class EnhancedOrderLineItem

java.lang.Object
com.broadleafcommerce.promotion.offer.web.context.EnhancedLineItem
com.broadleafcommerce.promotion.offer.web.context.EnhancedOrderLineItem
All Implemented Interfaces:
com.broadleafcommerce.promotion.offer.client.web.context.LineItem, com.broadleafcommerce.promotion.offer.client.web.context.OrderLineItem, Serializable

public class EnhancedOrderLineItem extends EnhancedLineItem implements com.broadleafcommerce.promotion.offer.client.web.context.OrderLineItem
See Also:
  • Constructor Details

    • EnhancedOrderLineItem

      public EnhancedOrderLineItem()
  • Method Details

    • isAParentOf

      public boolean isAParentOf(EnhancedOrderLineItem potentialChild)
      Determines whether this item is a direct parent or general ancestor of the given item. This will repeatedly call each child's isAParentOf(EnhancedOrderLineItem) if needed.
      Parameters:
      potentialChild - the item to determine whether this is a parent or ancestor
      Returns:
      whether this item is a direct parent or general ancestor of the given item
    • getTotalPrice

      public javax.money.MonetaryAmount getTotalPrice(boolean includeChildren)
      Gets the total combined price of this order item, including any adjustments.
      Parameters:
      includeChildren - whether to include dependent items in the total
      Returns:
      the total combined price of this order item, including any adjustments.
    • isDependent

      public boolean isDependent()
      Changes the default implementation to first check for the presence of the parentLineNumber to determine if this item is a dependent.
      Overrides:
      isDependent in class EnhancedLineItem
      Returns:
      Whether this item is an Add-on/dependant type
    • getParentLineNumber

      public String getParentLineNumber()
      Specified by:
      getParentLineNumber in interface com.broadleafcommerce.promotion.offer.client.web.context.OrderLineItem
    • getParent

      public EnhancedOrderLineItem getParent()
      Not part of the incoming or outgoing payloads but populated at the start of the offer engine in order to provide faster lookup during processing.
      Returns:
      The parent order line item object if this is a dependent item
    • getChildren

      public Set<EnhancedOrderLineItem> getChildren()
      Not part of the incoming or outgoing payloads but populated at the start of the offer engine in order to provide faster lookup during processing.
      Returns:
      The dependent order line item objects if any
    • setParentLineNumber

      public void setParentLineNumber(String parentLineNumber)
      Specified by:
      setParentLineNumber in interface com.broadleafcommerce.promotion.offer.client.web.context.OrderLineItem
    • setParent

      public void setParent(EnhancedOrderLineItem parent)
      Not part of the incoming or outgoing payloads but populated at the start of the offer engine in order to provide faster lookup during processing.
      Parameters:
      parent - The parent order line item object if this is a dependent item
    • setChildren

      public void setChildren(Set<EnhancedOrderLineItem> children)
      Not part of the incoming or outgoing payloads but populated at the start of the offer engine in order to provide faster lookup during processing.
      Parameters:
      children - The dependent order line item objects if any
    • equals

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

      protected boolean canEqual(Object other)
      Overrides:
      canEqual in class EnhancedLineItem
    • hashCode

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

      public String toString()
      Overrides:
      toString in class EnhancedLineItem