Class VariantsProductDetailsContributor

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

public class VariantsProductDetailsContributor extends Object implements ProductDetailsContributor
Contributor responsible for the ProductDetails' variants.
Author:
Nathan Moore (nathandmoore)
  • Field Details

  • Constructor Details

    • VariantsProductDetailsContributor

      public VariantsProductDetailsContributor()
  • Method Details

    • getOrder

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

      public <D extends ProductDetails, C extends ProductDetailsContext> Collection<D> contribute(@NonNull @NonNull Collection<D> productDetailsList, @NonNull @NonNull Collection<C> productDetailsContexts, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Description copied from interface: ProductDetailsContributor
      Contributes to the supplied ProductDetails. This should not mutate the inputted details, but return a new one with the new contributions.
      Specified by:
      contribute in interface ProductDetailsContributor
      Parameters:
      productDetailsList - The details to which to contribute
      productDetailsContexts - The context containing information that may be important for contributors such as active price lists.
      contextInfo - context information surrounding sandboxing/multitenant state
      Returns:
      An version of the supplied ProductDetails with the new contributions.
    • getVariantsForProduct

      protected <D extends ProductDetails, C extends ProductDetailsContext> List<VariantDetail> getVariantsForProduct(@NonNull D productDetails, @NonNull @NonNull Collection<C> productDetailsContexts)
      Gathers a list of VariantDetails that are related to the product provided via the ProductDetails param.
      Parameters:
      productDetails - The details of the product for which we're trying to identify its variants
      productDetailsContexts - The context containing information that may be important for contributors such as active price lists.
      Returns:
      the list of VariantDetails that are related to the product provided via the ProductDetails param