Class CartItemPriceableTargetUtils


  • public class CartItemPriceableTargetUtils
    extends Object
    Collection of utilities for PriceableTargets related to CartItem.
    Author:
    Nathan Moore (nathandmoore), Erin Pennington (epenning)
    • Constructor Detail

      • CartItemPriceableTargetUtils

        public CartItemPriceableTargetUtils​(com.fasterxml.jackson.databind.ObjectMapper mapper,
                                            com.broadleafcommerce.common.extension.TypeFactory typeFactory)
    • Method Detail

      • createTargets

        public Set<com.broadleafcommerce.pricing.client.domain.PriceableTarget> createTargets​(@NonNull
                                                                                              @NonNull com.broadleafcommerce.cart.client.domain.CartItem cartItem,
                                                                                              Map<String,​Integer> totalQuantityForTargetId)
        Creates PriceableTargets for a CartItem. This will create as many targets as are defined in the PRICEABLE_FIELDS attribute in CartItem.getInternalAttributes().
        Parameters:
        cartItem - CartItem for which to create PriceableTargets.
        Returns:
        PriceableTargets for a CartItem.
      • getPriceableFields

        protected Map<String,​Map<String,​javax.money.MonetaryAmount>> getPriceableFields​(@NonNull
                                                                                                    @NonNull com.broadleafcommerce.cart.client.domain.CartItem cartItem)
      • getSkuPriceInfos

        @Deprecated
        protected Map<String,​com.broadleafcommerce.pricing.client.domain.PriceInfo> getSkuPriceInfos​(@NonNull
                                                                                                           @NonNull com.broadleafcommerce.cart.client.domain.CartItem cartItem)
        Deprecated.
      • getPriceInfos

        protected Map<String,​com.broadleafcommerce.pricing.client.domain.PriceInfo> getPriceInfos​(@NonNull
                                                                                                        @NonNull com.broadleafcommerce.cart.client.domain.CartItem cartItem)
      • getPriceableFields

        protected Map<String,​javax.money.MonetaryAmount> getPriceableFields​(@Nullable
                                                                                  com.broadleafcommerce.pricing.client.domain.PriceInfo priceInfo)
        Builds the map of priceable fields for a PriceInfo that could later be added as PriceableTarget.getPriceableFields(). The key is the type of the priceable field and the value is the amount.
        Parameters:
        priceInfo - PriceInfo for which to determine the priceable fields.
        Returns:
        map of priceable fields for a PriceInfo
        See Also:
        PricingFields
      • createTargetForSku

        @Deprecated
        protected com.broadleafcommerce.pricing.client.domain.PriceableTarget createTargetForSku​(@NonNull
                                                                                                 @NonNull String sku,
                                                                                                 @Nullable
                                                                                                 String vendorRef,
                                                                                                 Integer quantity,
                                                                                                 @NonNull
                                                                                                 @NonNull Map<String,​javax.money.MonetaryAmount> priceableFields)
        Creates the PriceableTarget with sku as PriceableTarget.getTargetId().
        Parameters:
        sku - SKU identifier for which to create a PriceableTarget.
        vendorRef - Soft reference to the vendor to be associated with this PriceableTarget.
        priceableFields - Map of the priceable fields for the sku to add as PriceableTarget.getPriceableFields().
        Returns:
        the PriceableTarget with sku as PriceableTarget.getTargetId().
      • createTarget

        protected com.broadleafcommerce.pricing.client.domain.PriceableTarget createTarget​(@NonNull
                                                                                           @NonNull String targetId,
                                                                                           @NonNull
                                                                                           @NonNull String targetType,
                                                                                           @Nullable
                                                                                           String vendorRef,
                                                                                           Integer quantity,
                                                                                           @NonNull
                                                                                           @NonNull Map<String,​javax.money.MonetaryAmount> priceableFields)
        Creates the PriceableTarget with the specified identifier and type.
        Parameters:
        targetId - the target identifier for which to create a PriceableTarget.
        targetType - the target type for which to create a PriceableTarget.
        vendorRef - Soft reference to the vendor to be associated with this PriceableTarget.
        priceableFields - Map of the priceable fields for the sku to add as PriceableTarget.getPriceableFields().
        Returns:
        the PriceableTarget with sku as PriceableTarget.getTargetId().
        See Also:
        CartPricingTargetType
      • getMapper

        protected com.fasterxml.jackson.databind.ObjectMapper getMapper()
      • getTypeFactory

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