Class ProductPerfectPartnerBundlePromotion

All Implemented Interfaces:
Serializable, Comparable

public class ProductPerfectPartnerBundlePromotion extends GeneratedProductPerfectPartnerBundlePromotion
ProductPerfectPartnerBundlePromotion. Buy product A together with X products from the list B for a total fixed price. For example: Buy the XBox games console and 3 of the specified games together for €215.00, Buy this drill with 2 of the safety accessories for €100.00. The cart must contain the base product and the qualifying count of the partner products to qualify.
See Also:
  • Constructor Details

    • ProductPerfectPartnerBundlePromotion

      public ProductPerfectPartnerBundlePromotion()
  • Method Details

    • remove

      public void remove(SessionContext ctx) throws ConsistencyCheckException
      remove the item. you can delete this method if you don't want to intercept the removal of this item
      Overrides:
      remove in class AbstractPromotion
      Parameters:
      ctx - A SessionContext object
      Throws:
      ConsistencyCheckException - if this item could not be removed for some reason
    • getBaseProduct

      public Product getBaseProduct(SessionContext ctx)
      Get the base product for this perfect partner promotion. The base product is stored in the products collection.
      Specified by:
      getBaseProduct in class GeneratedProductPerfectPartnerBundlePromotion
      Parameters:
      ctx - The hybris context
      Returns:
      The base product
    • setBaseProduct

      public void setBaseProduct(SessionContext ctx, Product value)
      Set the base product for this perfect partner promotion. The base product is stored in the products collection.
      Specified by:
      setBaseProduct in class GeneratedProductPerfectPartnerBundlePromotion
      Parameters:
      ctx - The hybris context
      value - The product to set as the base product
    • 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