Class CartItemPriceableTargetUtils

java.lang.Object
com.broadleafcommerce.cartoperation.service.provider.external.pricing.CartItemPriceableTargetUtils

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

    Constructors
    Constructor
    Description
    CartItemPriceableTargetUtils(com.fasterxml.jackson.databind.ObjectMapper mapper, com.broadleafcommerce.common.extension.TypeFactory typeFactory)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected com.broadleafcommerce.pricing.client.domain.PriceableTarget
    createTarget(@NonNull String targetId, @NonNull String targetType, String vendorRef, Integer quantity, @NonNull Map<String,javax.money.MonetaryAmount> priceableFields)
    Creates the PriceableTarget with the specified identifier and type.
    protected com.broadleafcommerce.pricing.client.domain.PriceableTarget
    createTargetForSku(@NonNull String sku, String vendorRef, Integer quantity, @NonNull Map<String,javax.money.MonetaryAmount> priceableFields)
    Set<com.broadleafcommerce.pricing.client.domain.PriceableTarget>
    createTargets(@NonNull com.broadleafcommerce.cart.client.domain.CartItem cartItem, Map<String,Integer> totalQuantityForTargetId)
    Creates PriceableTargets for a CartItem.
    protected com.fasterxml.jackson.databind.ObjectMapper
     
    protected Map<String,Map<String,javax.money.MonetaryAmount>>
    getPriceableFields(@NonNull com.broadleafcommerce.cart.client.domain.CartItem cartItem)
     
    protected Map<String,javax.money.MonetaryAmount>
    getPriceableFields(com.broadleafcommerce.pricing.client.domain.PriceInfo priceInfo)
    Builds the map of priceable fields for a PriceInfo that could later be added as PriceableTarget.getPriceableFields().
    protected Map<String,com.broadleafcommerce.pricing.client.domain.PriceInfo>
    getPriceInfos(@NonNull com.broadleafcommerce.cart.client.domain.CartItem cartItem)
     
    protected Map<String,com.broadleafcommerce.pricing.client.domain.PriceInfo>
    getSkuPriceInfos(@NonNull com.broadleafcommerce.cart.client.domain.CartItem cartItem)
    Deprecated.
    protected com.broadleafcommerce.common.extension.TypeFactory
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • CartItemPriceableTargetUtils

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

    • 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:
    • 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:
    • getMapper

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

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