Class RelatedCategoriesProductContextContributor

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

public class RelatedCategoriesProductContextContributor extends Object implements ProductDetailsContextContributor
Contributes all of the related Categories to the ProductDetailsContext. This will look through all of the ItemChoices and find all parent categories for the resolved product.

Extend contributeOtherCategoryIds(java.util.Collection<T>, com.broadleafcommerce.data.tracking.core.context.ContextInfo) to contribute other category IDs before fetching all of the related category.

Author:
Nathan Moore (nathandmoore)
  • Field Details

  • Constructor Details

  • 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.
    • contributeOtherCategoryIds

      protected <T extends ProductDetailsContext> Set<String> contributeOtherCategoryIds(@NonNull @NonNull Collection<T> productDetailsContext, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Extension point for contributing other category IDs to the set.
      Parameters:
      productDetailsContext - The context to which to contribute
      contextInfo - context information surrounding sandboxing/multitenant state
      Returns:
      A set of category IDs related to the resolved product.
    • getCategoryService

      protected CategoryService<Category> getCategoryService()
    • getCategoryProductService

      protected CategoryProductService<CategoryProduct> getCategoryProductService()
    • getTypeFactory

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