Interface CartItemConfigurationService<P extends CatalogItem>

All Known Implementing Classes:
DefaultCartItemConfigurationService

public interface CartItemConfigurationService<P extends CatalogItem>
Author:
Chad Harchar (charchar)
  • Method Summary

    Modifier and Type
    Method
    Description
    default boolean
    cartItemHasQuantityThresholds(@NonNull com.broadleafcommerce.cart.client.domain.CartItem cartItem, @NonNull CatalogItemList<? extends CatalogItem> catalogItemList)
    Deprecated, for removal: This API element is subject to removal in a future version.
    boolean
    cartItemHasQuantityThresholds(@NonNull com.broadleafcommerce.cart.client.domain.CartItem cartItem, @NonNull CatalogItemList<? extends CatalogItem> catalogItemList, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    Determines if the provided CartItem's related CatalogItem has quantity threshold restrictions.
    void
    validateCartItem(com.broadleafcommerce.cart.client.domain.Cart cart, com.broadleafcommerce.cart.client.domain.CartItem cartItem, CatalogItemList<? extends CatalogItem> catalogItemList, String validationFlow, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    Process cart item configuration by validating catalog information.
    void
    validateCartItem(com.broadleafcommerce.cart.client.domain.Cart cart, com.broadleafcommerce.cart.client.domain.CartItem cartItem, CatalogItem catalogItem, String validationFlow)
    Deprecated, for removal: This API element is subject to removal in a future version.
    default void
    validateCartItem(com.broadleafcommerce.cart.client.domain.Cart cart, com.broadleafcommerce.cart.client.domain.CartItem cartItem, CatalogItem catalogItem, String validationFlow, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    Process cart item configuration by validating catalog information.
    void
    validateCustomQuoteItem(com.broadleafcommerce.cart.client.domain.Cart cart, com.broadleafcommerce.cart.client.domain.CartItem cartItem)
    Deprecated, for removal: This API element is subject to removal in a future version.
    default void
    validateCustomQuoteItem(com.broadleafcommerce.cart.client.domain.Cart cart, com.broadleafcommerce.cart.client.domain.CartItem cartItem, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    Processes item configuration validation for custom quote items.
    void
    validateNonCatalogItem(com.broadleafcommerce.cart.client.domain.Cart cart, com.broadleafcommerce.cart.client.domain.CartItem cartItem, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    Processes item configuration validation for non-catalog items.
    boolean
    variantCartItemMissingFromCatalogItem(@NonNull CatalogItemList<? extends CatalogItem> catalogItemList, @NonNull com.broadleafcommerce.cart.client.domain.CartItem cartItem, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    Determines if the provided CartItem does not have a backing Variant from the list of CatalogItem This specifically targets Variants by checking the variant ID of a cart item.
  • Method Details

    • cartItemHasQuantityThresholds

      @Deprecated(since="2.1.3", forRemoval=true) default boolean cartItemHasQuantityThresholds(@NonNull @NonNull com.broadleafcommerce.cart.client.domain.CartItem cartItem, @NonNull @NonNull CatalogItemList<? extends CatalogItem> catalogItemList)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Determines if the provided CartItem's related CatalogItem has quantity threshold restrictions.
      Parameters:
      cartItem - The CartItem that we need to check for quantity thresholds.
      catalogItemList - The CatalogItemList that should contain the CartItem's related CatalogItem.
      Returns:
      If the provided CartItem's related CatalogItem has quantity threshold restrictions.
    • cartItemHasQuantityThresholds

      boolean cartItemHasQuantityThresholds(@NonNull @NonNull com.broadleafcommerce.cart.client.domain.CartItem cartItem, @NonNull @NonNull CatalogItemList<? extends CatalogItem> catalogItemList, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Determines if the provided CartItem's related CatalogItem has quantity threshold restrictions.
      Parameters:
      cartItem - The CartItem that we need to check for quantity thresholds.
      catalogItemList - The CatalogItemList that should contain the CartItem's related CatalogItem.
      contextInfo - Context information around sandbox and multitenant state.
      Returns:
      If the provided CartItem's related CatalogItem has quantity threshold restrictions.
    • validateCartItem

      void validateCartItem(com.broadleafcommerce.cart.client.domain.Cart cart, com.broadleafcommerce.cart.client.domain.CartItem cartItem, CatalogItemList<? extends CatalogItem> catalogItemList, String validationFlow, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Process cart item configuration by validating catalog information. Errors for the item will be recorded into CartItem.getGlobalConfigErrors(), while errors for specific attributes will be recorded into CartItem.getAttributeConfigErrors(). For hierarchical cart items (items with CartItem.getDependentCartItems()) it is intended that this method be called from the bottom up, i.e., the lowest level dependent item gets called first. That way, errors on items will be properly cascaded up the hierarchy as CartItemConfigurationErrorEnum.MISCONFIGURED_DEPENDENT_ITEMS on CartItem.getGlobalConfigErrors().
      Parameters:
      cart - The cart with the cart item
      cartItem - The cart item with which to process configuration.
      catalogItemList - The CatalogItemList that should contain the CartItem's related CatalogItem.
      validationFlow - The context used to identify validation requirements of the CartItem at that point in its lifecycle. If this is set to ValidationStrategy.ADD_ITEM, then the configuration service will try to
      contextInfo - Context information around sandbox and multitenant state.
    • validateCartItem

      @Deprecated(since="2.1.3", forRemoval=true) void validateCartItem(com.broadleafcommerce.cart.client.domain.Cart cart, com.broadleafcommerce.cart.client.domain.CartItem cartItem, CatalogItem catalogItem, String validationFlow)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Process cart item configuration by validating catalog information. Errors for the item will be recorded into CartItem.getGlobalConfigErrors(), while errors for specific attributes will be recorded into CartItem.getAttributeConfigErrors(). For hierarchical cart items (items with CartItem.getDependentCartItems()) it is intended that this method be called from the bottom up, i.e., the lowest level dependent item gets called first. That way, errors on items will be properly cascaded up the hierarchy as CartItemConfigurationErrorEnum.MISCONFIGURED_DEPENDENT_ITEMS on CartItem.getGlobalConfigErrors().
      Parameters:
      cart - The cart with the cart item
      cartItem - The cart item with which to process configuration.
      catalogItem - The CatalogItem with configuration to be used for validation.
      validationFlow - The context used to identify validation requirements of the CartItem at that point in its lifecycle. If this is set to ValidationStrategy.ADD_ITEM, then the configuration service will try to
    • validateCartItem

      default void validateCartItem(com.broadleafcommerce.cart.client.domain.Cart cart, com.broadleafcommerce.cart.client.domain.CartItem cartItem, CatalogItem catalogItem, String validationFlow, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Process cart item configuration by validating catalog information. Errors for the item will be recorded into CartItem.getGlobalConfigErrors(), while errors for specific attributes will be recorded into CartItem.getAttributeConfigErrors(). For hierarchical cart items (items with CartItem.getDependentCartItems()) it is intended that this method be called from the bottom up, i.e., the lowest level dependent item gets called first. That way, errors on items will be properly cascaded up the hierarchy as CartItemConfigurationErrorEnum.MISCONFIGURED_DEPENDENT_ITEMS on CartItem.getGlobalConfigErrors().
      Parameters:
      cart - The cart with the cart item
      cartItem - The cart item with which to process configuration.
      catalogItem - The CatalogItem with configuration to be used for validation.
      validationFlow - The context used to identify validation requirements of the CartItem at that point in its lifecycle. If this is set to ValidationStrategy.ADD_ITEM, then the configuration service will try to
      contextInfo - Context information around sandbox and multitenant state.
    • validateCustomQuoteItem

      @Deprecated(since="2.1.3", forRemoval=true) void validateCustomQuoteItem(com.broadleafcommerce.cart.client.domain.Cart cart, com.broadleafcommerce.cart.client.domain.CartItem cartItem)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Processes item configuration validation for custom quote items.

      Any customization should be added here.

      Parameters:
      cart - The cart with the cart item
      cartItem - The cart item with which to process configuration
      See Also:
      • DefaultCartItemTypes.CUSTOM_QUOTE_ITEM
    • validateCustomQuoteItem

      default void validateCustomQuoteItem(com.broadleafcommerce.cart.client.domain.Cart cart, com.broadleafcommerce.cart.client.domain.CartItem cartItem, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Processes item configuration validation for custom quote items.

      Any customization should be added here.

      Parameters:
      cart - The cart with the cart item
      cartItem - The cart item with which to process configuration
      contextInfo - Context information around sandbox and multitenant state.
      See Also:
      • DefaultCartItemTypes.CUSTOM_QUOTE_ITEM
    • validateNonCatalogItem

      void validateNonCatalogItem(com.broadleafcommerce.cart.client.domain.Cart cart, com.broadleafcommerce.cart.client.domain.CartItem cartItem, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Processes item configuration validation for non-catalog items.

      Any customization should be added here.

      Parameters:
      cart - The cart with the cart item
      cartItem - The cart item with which to process configuration
      contextInfo - Context information around sandbox and multitenant state.
      See Also:
      • DefaultCartItemTypes.NON_CATALOG_ITEM
    • variantCartItemMissingFromCatalogItem

      boolean variantCartItemMissingFromCatalogItem(@NonNull @NonNull CatalogItemList<? extends CatalogItem> catalogItemList, @NonNull @NonNull com.broadleafcommerce.cart.client.domain.CartItem cartItem, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Determines if the provided CartItem does not have a backing Variant from the list of CatalogItem This specifically targets Variants by checking the variant ID of a cart item.

      Parameters:
      catalogItemList - the list of CatalogItems
      cartItem - the cart item to check
      contextInfo - context information surrounding sandboxing and multitenant state
      Returns:
      true if the cartItem does not have a backing Variant for a variant