java.lang.Object
com.broadleafcommerce.cartoperation.web.endpoint.domain.CartModifyingRequest
com.broadleafcommerce.cartoperation.web.endpoint.domain.AddItemRequest
All Implemented Interfaces:
CartVersionedRequest, Serializable

public class AddItemRequest extends CartModifyingRequest implements Serializable
A request DTO for adding an item to a cart. This is passed through CartOperationService.addItemToCart(Cart, AddItemRequest, boolean, ContextInfo) and is used to inform the creation of a CartItem.
Author:
Chad Harchar (charchar)
See Also:
  • Constructor Details

    • AddItemRequest

      public AddItemRequest()
  • Method Details

    • getVariantId

      public String getVariantId()
      The id of the variant for this add item request. Used to retrieve variant information for the cart item.
      Returns:
      The id of the variant for this add item request. Used to retrieve variant information for the cart item.
    • getProductId

      public String getProductId()
      The id of the product for this add item request. Used to retrieve product information for the cart item.
      Returns:
      The id of the product for this add item request. Used to retrieve product information for the cart item.
    • getSku

      public String getSku()
      The SKU code for the item (e.g., Product or Variant).
      Returns:
      SKU code for the item
    • getItemType

      public String getItemType()
      The type of this item (e.g. Standard or Custom Quote Item). Defaults to DefaultCartItemTypes.STANDARD.
      Returns:
      type of this item
      See Also:
    • getNonCatalogItemDetails

      public NonCatalogItemDetails getNonCatalogItemDetails()
      Additional request information for adding a non-catalog item to the cart. For example, this can be useful for adding a DefaultCartItemTypes.CUSTOM_QUOTE_ITEM that doesn't exist in the catalog.
    • getQuantity

      public int getQuantity()
      The amount of this item to be added to the Cart.
      Returns:
      The amount of this item to be added to the Cart.
    • getCurrency

      @Deprecated public javax.money.CurrencyUnit getCurrency()
      Deprecated.
      in favor of using PriceCartRequest for creating or pricing a cart.
    • getLocale

      @Deprecated public Locale getLocale()
      Deprecated.
      in favor of using PriceCartRequest for creating or pricing a cart.
    • getItemAttributes

      public Map<String,Object> getItemAttributes()
      Miscellaneous attributes that should be copied to the CartItem.getAttributes() for this request.
      Returns:
      Miscellaneous attributes that should be copied to the CartItem.getAttributes() for this request.
    • getItemInternalAttributes

      public Map<String,Object> getItemInternalAttributes()
      Miscellaneous internal attributes that should be copied to the CartItem.getInternalAttributes() for this request.
      Returns:
      Miscellaneous internal attributes that should be copied to the CartItem.getInternalAttributes() for this request.
    • getItemAttributeChoices

      public Map<String,String> getItemAttributeChoices()
      Attribute choices that should be copied to CartItem.getAttributeChoices() for this request.
      Returns:
      Attribute choices that should be copied to CartItem.getAttributeChoices() for this request.
    • getCartAttributes

      public Map<String,Object> getCartAttributes()
      Attributes that should be copied to the Cart.getAttributes() for this request.
      Returns:
      Attributes that should be copied to the Cart.getAttributes() for this request.
    • getDependentCartItems

      public List<AddItemRequest> getDependentCartItems()
      A list of additional AddItemRequests that should be processed as dependent items of the resulting parent item of this current AddItemRequest.
      Returns:
      A list of additional AddItemRequests that should be processed as dependent items of the resulting parent item of this current AddItemRequest.
    • getItemChoiceKey

      public String getItemChoiceKey()
      If this AddItemRequest is one within getDependentCartItems(), this is the key to use to relate to this CartItem to a configured product item choice.
      Returns:
      The key to use to relate to this CartItem to a configured product item choice.
    • getMerchandisingContext

      public String getMerchandisingContext()
      The value that should be mapped to CartItem.getMerchandisingContext(). This holds the selector or merchandising product's id.
      Returns:
      The context of the item signifying where it's added from
    • getAdditionalAttributes

      public Map<String,Object> getAdditionalAttributes()
      Miscellaneous attributes that can be set to this request in order to inform business logic for adding a CartItem.
      Returns:
      Miscellaneous attributes that can be set to this request in order to inform business logic for adding a CartItem.
    • getTermDurationType

      public String getTermDurationType()
      The type of the term duration selected for the item, if any. Some items may have terms to allow certain pricing for the user. This indicates the type of duration, e.g., DAYS, WEEKS, MONTHS, YEARS, for the selected term. For example, choosing between paying the full price for a device (no terms) vs splitting payment over 36 months (termDurationLength of 36 and termDurationType of MONTHS).
      Since:
      Cart Operation Service 2.2.0, Release Train 2.2.0
      See Also:
      • termDurationLength
    • getTermDurationLength

      public Integer getTermDurationLength()
      The length of the term duration selected for the item, if any. Some items may have terms to allow certain pricing for the user. This indicates the length of duration for the selected term. For example, choosing between paying the full price for a device (no terms) vs splitting payment over 36 months (termDurationLength of 36 and termDurationType of MONTHS).
      Since:
      Cart Operation Service 2.2.0, Release Train 2.2.0
      See Also:
      • termDurationType
    • setVariantId

      public void setVariantId(String variantId)
      The id of the variant for this add item request. Used to retrieve variant information for the cart item.
      Parameters:
      variantId - The id of the variant for this add item request. Used to retrieve variant information for the cart item.
    • setProductId

      public void setProductId(String productId)
      The id of the product for this add item request. Used to retrieve product information for the cart item.
      Parameters:
      productId - The id of the product for this add item request. Used to retrieve product information for the cart item.
    • setSku

      public void setSku(String sku)
      The SKU code for the item (e.g., Product or Variant).
      Parameters:
      sku - SKU code for the item
    • setItemType

      public void setItemType(String itemType)
      The type of this item (e.g. Standard or Custom Quote Item). Defaults to DefaultCartItemTypes.STANDARD.
      Parameters:
      type - type of this item
      See Also:
    • setNonCatalogItemDetails

      public void setNonCatalogItemDetails(NonCatalogItemDetails nonCatalogItemDetails)
      Additional request information for adding a non-catalog item to the cart. For example, this can be useful for adding a DefaultCartItemTypes.CUSTOM_QUOTE_ITEM that doesn't exist in the catalog.
    • setQuantity

      public void setQuantity(int quantity)
      The amount of this item to be added to the Cart.
      Parameters:
      quantity - The amount of this item to be added to the Cart.
    • setCurrency

      @Deprecated public void setCurrency(javax.money.CurrencyUnit currency)
      Deprecated.
      in favor of using PriceCartRequest for creating or pricing a cart.
    • setLocale

      @Deprecated public void setLocale(Locale locale)
      Deprecated.
      in favor of using PriceCartRequest for creating or pricing a cart.
    • setItemAttributes

      public void setItemAttributes(Map<String,Object> itemAttributes)
      Miscellaneous attributes that should be copied to the CartItem.getAttributes() for this request.
      Parameters:
      itemAttributes - Miscellaneous attributes that should be copied to the CartItem.getAttributes() for this request.
    • setItemInternalAttributes

      public void setItemInternalAttributes(Map<String,Object> itemInternalAttributes)
      Miscellaneous internal attributes that should be copied to the CartItem.getInternalAttributes() for this request.
      Parameters:
      itemAttributes - Miscellaneous internal attributes that should be copied to the CartItem.getInternalAttributes() for this request.
    • setItemAttributeChoices

      public void setItemAttributeChoices(Map<String,String> itemAttributeChoices)
      Attribute choices that should be copied to CartItem.getAttributeChoices() for this request.
      Parameters:
      itemAttributeChoices - Attribute choices that should be copied to CartItem.getAttributeChoices() for this request.
    • setCartAttributes

      public void setCartAttributes(Map<String,Object> cartAttributes)
      Attributes that should be copied to the Cart.getAttributes() for this request.
      Parameters:
      cartAttributes - Attributes that should be copied to the Cart.getAttributes() for this request.
    • setDependentCartItems

      public void setDependentCartItems(List<AddItemRequest> dependentCartItems)
      A list of additional AddItemRequests that should be processed as dependent items of the resulting parent item of this current AddItemRequest.
      Parameters:
      dependentCartItems - A list of additional AddItemRequests that should be processed as dependent items of the resulting parent item of this current AddItemRequest.
    • setItemChoiceKey

      public void setItemChoiceKey(String itemChoiceKey)
      If this AddItemRequest is one within getDependentCartItems(), this is the key to use to relate to this CartItem to a configured product item choice.
      Parameters:
      itemChoiceKey - The key to use to relate to this CartItem to a configured product item choice.
    • setMerchandisingContext

      public void setMerchandisingContext(String merchandisingContext)
      The value that should be mapped to CartItem.getMerchandisingContext(). This holds the selector or merchandising product's id.
      Parameters:
      merchandisingContext - The context of the item signifying where it's added from
    • setAdditionalAttributes

      public void setAdditionalAttributes(Map<String,Object> additionalAttributes)
      Miscellaneous attributes that can be set to this request in order to inform business logic for adding a CartItem.
      Parameters:
      additionalAttributes - Miscellaneous attributes that can be set to this request in order to inform business logic for adding a CartItem.
    • setTermDurationType

      public void setTermDurationType(String termDurationType)
      The type of the term duration selected for the item, if any. Some items may have terms to allow certain pricing for the user. This indicates the type of duration, e.g., DAYS, WEEKS, MONTHS, YEARS, for the selected term. For example, choosing between paying the full price for a device (no terms) vs splitting payment over 36 months (termDurationLength of 36 and termDurationType of MONTHS).
      Since:
      Cart Operation Service 2.2.0, Release Train 2.2.0
      See Also:
      • termDurationLength
    • setTermDurationLength

      public void setTermDurationLength(Integer termDurationLength)
      The length of the term duration selected for the item, if any. Some items may have terms to allow certain pricing for the user. This indicates the length of duration for the selected term. For example, choosing between paying the full price for a device (no terms) vs splitting payment over 36 months (termDurationLength of 36 and termDurationType of MONTHS).
      Since:
      Cart Operation Service 2.2.0, Release Train 2.2.0
      See Also:
      • termDurationType
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class CartModifyingRequest
    • canEqual

      protected boolean canEqual(Object other)
      Overrides:
      canEqual in class CartModifyingRequest
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class CartModifyingRequest
    • toString

      public String toString()
      Overrides:
      toString in class CartModifyingRequest