Class RelatedPromoProductsProductContextContributor

java.lang.Object
com.broadleafcommerce.catalog.service.product.commerce.context.contributor.RelatedPromoProductsProductContextContributor
All Implemented Interfaces:
ProductDetailsContextContributor, org.springframework.core.Ordered

public class RelatedPromoProductsProductContextContributor extends Object implements ProductDetailsContextContributor
Contributes all of the related PromotionalProducts to the ProductDetailsContext. This will only look at the primary resolved product and not through it's hierarchy for additional promo products.

This should be run before RelatedProductsProductContextContributor to allow us to gather all the related promotional products at the same time as related products.

Author:
Nathan Moore (nathandmoore)
  • Field Details

  • Constructor Details

    • RelatedPromoProductsProductContextContributor

      public RelatedPromoProductsProductContextContributor(PromotionalProductService<PromotionalProduct> promotionalProductService, com.broadleafcommerce.common.extension.TypeFactory typeFactory)
  • Method Details

    • getOrder

      public int getOrder()
      Specified by:
      getOrder in interface org.springframework.core.Ordered
    • contribute

      public <T extends ProductDetailsContext> Collection<T> contribute(@NonNull @NonNull Collection<T> productDetailsContexts, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Description copied from interface: ProductDetailsContextContributor
      Contributes to the supplied ProductDetailsContext. This should not mutate the inputted context, but return a new one with the new contributions.
      Specified by:
      contribute in interface ProductDetailsContextContributor
      Parameters:
      productDetailsContexts - The contexts to which to contribute
      contextInfo - context information surrounding sandboxing/multitenant state
      Returns:
      A version of the supplied ProductDetailsContext with the new contributions.
    • getPromotionalProductService

      protected PromotionalProductService<PromotionalProduct> getPromotionalProductService()
    • getTypeFactory

      protected com.broadleafcommerce.common.extension.TypeFactory getTypeFactory()