Class ProductBOGOFPromotion

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

public class ProductBOGOFPromotion extends GeneratedProductBOGOFPromotion
Buy x get y free promotion. Buy a certain number of items, get specified number of lowest valued items for free. For example: Buy 1 get 1 free (also known as Buy 2 for the price of 1), Buy 3 for the price of 2 or any combination of paid for and free products. The items must all be from the range of qualifying products.
See Also:
  • Constructor Details

    • ProductBOGOFPromotion

      public ProductBOGOFPromotion()
  • Method Details

    • 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