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 Summary
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
-
Constructor Summary
ConstructorDescriptionRelatedPromoProductsProductContextContributor
(PromotionalProductService<PromotionalProduct> promotionalProductService, com.broadleafcommerce.common.extension.TypeFactory typeFactory) -
Method Summary
Modifier and TypeMethodDescription<T extends ProductDetailsContext>
Collection<T>contribute
(@NonNull Collection<T> productDetailsContexts, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Contributes to the suppliedProductDetailsContext
.int
getOrder()
protected PromotionalProductService<PromotionalProduct>
protected com.broadleafcommerce.common.extension.TypeFactory
-
Field Details
-
DEFAULT_ORDER
public static final int DEFAULT_ORDER- See Also:
-
-
Constructor Details
-
RelatedPromoProductsProductContextContributor
public RelatedPromoProductsProductContextContributor(PromotionalProductService<PromotionalProduct> promotionalProductService, com.broadleafcommerce.common.extension.TypeFactory typeFactory)
-
-
Method Details
-
getOrder
public int getOrder()- Specified by:
getOrder
in interfaceorg.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 suppliedProductDetailsContext
. This should not mutate the inputted context, but return a new one with the new contributions.- Specified by:
contribute
in interfaceProductDetailsContextContributor
- Parameters:
productDetailsContexts
- The contexts to which to contributecontextInfo
- context information surrounding sandboxing/multitenant state- Returns:
- A version of the supplied
ProductDetailsContext
with the new contributions.
-
getPromotionalProductService
-
getTypeFactory
protected com.broadleafcommerce.common.extension.TypeFactory getTypeFactory()
-