Class ProductMultiBuyPromotion

All Implemented Interfaces:
Serializable, Comparable
Direct Known Subclasses:
GeneratedAcceleratorProductMultiBuyPromotion

public class ProductMultiBuyPromotion extends GeneratedProductMultiBuyPromotion
Buy a certain number of items for a fixed package price. For example: Buy any 3 for €20.00 or any other combination of required quantity and price. The items must all be from the range of qualifying products.
See Also:
  • Constructor Details

    • ProductMultiBuyPromotion

      public ProductMultiBuyPromotion()
  • Method Details

    • remove

      public void remove(SessionContext ctx) throws ConsistencyCheckException
      Removes the item.
      Overrides:
      remove in class AbstractPromotion
      Parameters:
      ctx - A SessionContext object
      Throws:
      ConsistencyCheckException - if this item could not be removed for some reason
    • evaluate

      public List<PromotionResult> evaluate(SessionContext ctx, PromotionEvaluationContext promoContext)
      Description copied from class: AbstractPromotion
      Evaluate whether a promotion can fire or not.
      Specified by:
      evaluate in class AbstractPromotion
      Parameters:
      ctx - The context to run the operation in
      promoContext - The evaluation context
      Returns:
      the list of promotion results that this promotions creates
    • getResultDescription

      public String getResultDescription(SessionContext ctx, PromotionResult promotionResult, Locale locale)
      Description copied from class: AbstractPromotion
      Get a localized user presentable description for the result of this promotion.
      Specified by:
      getResultDescription in class AbstractPromotion
      Parameters:
      ctx - The context
      promotionResult - The promotion result to be described
      locale - The locale to use to generate the message
      Returns:
      a string description
    • buildDataUniqueKey

      protected void buildDataUniqueKey(SessionContext ctx, StringBuilder builder)
      Description copied from class: AbstractPromotion
      Build a unique data driven key. Build a unique key that is data driven. This will uniquely identify the rules used in this promotion and will form the immutable key for stored promotions. This method may be overridden in a subclass to customize the identifier.
      Overrides:
      buildDataUniqueKey in class ProductPromotion
      Parameters:
      ctx - The hybris context
      builder - A StringBuilder used to build up the immutable key
    • deepCloneAttributes

      protected void deepCloneAttributes(SessionContext ctx, Map values)
      Called to deep clone attributes of this instance The values map contains all the attributes defined on this instance. The map will be used to initialize a new instance of the Action that is a clone of this instance. This method can remove, replace or add to the Map of attributes.
      Overrides:
      deepCloneAttributes in class AbstractPromotion
      Parameters:
      ctx - The hybris context
      values - The map to write into