Class PriceDataTier

java.lang.Object
com.broadleafcommerce.pricing.domain.PriceDataTier
All Implemented Interfaces:
com.broadleafcommerce.data.tracking.core.EmbeddedContextStateAware, Serializable, Comparable<PriceDataTier>

public class PriceDataTier extends Object implements Serializable, Comparable<PriceDataTier>, com.broadleafcommerce.data.tracking.core.EmbeddedContextStateAware
Specify a price depending on a minimum quantity being met. i.e. "Sku A" gets a reduced price if you buy 5 of them, and a further reduced price if you buy 10.
Author:
Chad Harchar (charchar)
See Also:
  • Field Summary

    Fields inherited from interface com.broadleafcommerce.data.tracking.core.EmbeddedContextStateAware

    DEFAULT_FIELD_NAME
  • Constructor Summary

    Constructors
    Constructor
    Description
     
    PriceDataTier(Integer minQuantity, javax.money.MonetaryAmount price, com.broadleafcommerce.data.tracking.core.EmbeddedContextState contextState)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected boolean
     
    int
    Compares priorities.
    boolean
     
    com.broadleafcommerce.data.tracking.core.EmbeddedContextState
    A subset of Tracking information to expose the context state for this object.
    The quantity that defines the minimum threshold of this tier.
    javax.money.MonetaryAmount
    The price for targets items when this tier is met.
    int
     
    void
    setContextState(com.broadleafcommerce.data.tracking.core.EmbeddedContextState contextState)
    A subset of Tracking information to expose the context state for this object.
    void
    setMinQuantity(Integer minQuantity)
    The quantity that defines the minimum threshold of this tier.
    void
    setPrice(javax.money.MonetaryAmount price)
    The price for targets items when this tier is met.
     

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • PriceDataTier

      public PriceDataTier(Integer minQuantity, javax.money.MonetaryAmount price, com.broadleafcommerce.data.tracking.core.EmbeddedContextState contextState)
    • PriceDataTier

      public PriceDataTier()
  • Method Details

    • compareTo

      public int compareTo(@NonNull PriceDataTier that)
      Compares priorities. Null is less than non-null.
      Specified by:
      compareTo in interface Comparable<PriceDataTier>
      Parameters:
      that - PriceDataTier to which we are comparing
      Returns:
      a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object.
    • getMinQuantity

      public Integer getMinQuantity()
      The quantity that defines the minimum threshold of this tier.
    • getPrice

      public javax.money.MonetaryAmount getPrice()
      The price for targets items when this tier is met.
    • getContextState

      public com.broadleafcommerce.data.tracking.core.EmbeddedContextState getContextState()
      A subset of Tracking information to expose the context state for this object. This value is not persisted, and instead it is dynamically calculated and populated when the ChangeDetails for the parent object's entire attributes map are compared.
      Specified by:
      getContextState in interface com.broadleafcommerce.data.tracking.core.EmbeddedContextStateAware
      Returns:
      a subset of Tracking information to expose the context state for this object
    • setMinQuantity

      public void setMinQuantity(Integer minQuantity)
      The quantity that defines the minimum threshold of this tier.
    • setPrice

      public void setPrice(javax.money.MonetaryAmount price)
      The price for targets items when this tier is met.
    • setContextState

      public void setContextState(com.broadleafcommerce.data.tracking.core.EmbeddedContextState contextState)
      A subset of Tracking information to expose the context state for this object. This value is not persisted, and instead it is dynamically calculated and populated when the ChangeDetails for the parent object's entire attributes map are compared.
      Specified by:
      setContextState in interface com.broadleafcommerce.data.tracking.core.EmbeddedContextStateAware
      Parameters:
      contextState - a subset of Tracking information to expose the context state for this object
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • 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