Interface CustomLineItemDraft

All Superinterfaces:
CustomizableDraft<CustomLineItemDraft>, Draft<CustomLineItemDraft>

public interface CustomLineItemDraft extends CustomizableDraft<CustomLineItemDraft>, Draft<CustomLineItemDraft>
CustomLineItemDraft
Example to create an instance using the builder pattern

     CustomLineItemDraft customLineItemDraft = CustomLineItemDraft.builder()
             .name(nameBuilder -> nameBuilder)
             .money(moneyBuilder -> moneyBuilder)
             .slug("{slug}")
             .build()
 
  • Method Details

    • getName

      @NotNull @Valid @NotNull @Valid LocalizedString getName()

      Name of the Custom Line Item.

      Returns:
      name
    • getKey

      String getKey()

      User-defined unique identifier of the Custom Line Item.

      Returns:
      key
    • getQuantity

      Long getQuantity()

      Number of Custom Line Items to add to the Cart.

      Returns:
      quantity
    • getMoney

      @NotNull @Valid @NotNull @Valid Money getMoney()

      Money value of the Custom Line Item. The value can be negative.

      Returns:
      money
    • getSlug

      @NotNull @NotNull String getSlug()

      User-defined identifier used in a deep-link URL for the Custom Line Item. It must match the pattern [a-zA-Z0-9_-]{2,256}.

      Returns:
      slug
    • getTaxCategory

      @Valid @Valid TaxCategoryResourceIdentifier getTaxCategory()

      Used to select a Tax Rate when a Cart has the Platform TaxMode. This field is required for Platform TaxMode.

      Returns:
      taxCategory
    • getExternalTaxRate

      @Valid @Valid ExternalTaxRateDraft getExternalTaxRate()

      External Tax Rate for the Custom Line Item if the Cart has the External TaxMode.

      Returns:
      externalTaxRate
    • getCustom

      @Valid @Valid CustomFieldsDraft getCustom()

      Custom Fields for the Custom Line Item.

      Specified by:
      getCustom in interface CustomizableDraft<CustomLineItemDraft>
      Returns:
      custom
    • getShippingDetails

      @Valid @Valid ItemShippingDetailsDraft getShippingDetails()

      Container for Custom Line Item-specific addresses.

      Returns:
      shippingDetails
    • getPriceMode

      CustomLineItemPriceMode getPriceMode()
      • If Standard, Cart Discounts with a matching CartDiscountCustomLineItemsTarget are applied to the Custom Line Item.
      • If External, Cart Discounts are not considered on the Custom Line Item.
      Returns:
      priceMode
    • setName

      void setName(LocalizedString name)

      Name of the Custom Line Item.

      Parameters:
      name - value to be set
    • setKey

      void setKey(String key)

      User-defined unique identifier of the Custom Line Item.

      Parameters:
      key - value to be set
    • setQuantity

      void setQuantity(Long quantity)

      Number of Custom Line Items to add to the Cart.

      Parameters:
      quantity - value to be set
    • setMoney

      void setMoney(Money money)

      Money value of the Custom Line Item. The value can be negative.

      Parameters:
      money - value to be set
    • setSlug

      void setSlug(String slug)

      User-defined identifier used in a deep-link URL for the Custom Line Item. It must match the pattern [a-zA-Z0-9_-]{2,256}.

      Parameters:
      slug - value to be set
    • setTaxCategory

      void setTaxCategory(TaxCategoryResourceIdentifier taxCategory)

      Used to select a Tax Rate when a Cart has the Platform TaxMode. This field is required for Platform TaxMode.

      Parameters:
      taxCategory - value to be set
    • setExternalTaxRate

      void setExternalTaxRate(ExternalTaxRateDraft externalTaxRate)

      External Tax Rate for the Custom Line Item if the Cart has the External TaxMode.

      Parameters:
      externalTaxRate - value to be set
    • setCustom

      void setCustom(CustomFieldsDraft custom)

      Custom Fields for the Custom Line Item.

      Specified by:
      setCustom in interface CustomizableDraft<CustomLineItemDraft>
      Parameters:
      custom - value to be set
    • setShippingDetails

      void setShippingDetails(ItemShippingDetailsDraft shippingDetails)

      Container for Custom Line Item-specific addresses.

      Parameters:
      shippingDetails - value to be set
    • setPriceMode

      void setPriceMode(CustomLineItemPriceMode priceMode)
      • If Standard, Cart Discounts with a matching CartDiscountCustomLineItemsTarget are applied to the Custom Line Item.
      • If External, Cart Discounts are not considered on the Custom Line Item.
      Parameters:
      priceMode - value to be set
    • of

      static CustomLineItemDraft of()
      factory method
      Returns:
      instance of CustomLineItemDraft
    • of

      factory method to create a shallow copy CustomLineItemDraft
      Parameters:
      template - instance to be copied
      Returns:
      copy instance
    • deepCopy

      factory method to create a deep copy of CustomLineItemDraft
      Parameters:
      template - instance to be copied
      Returns:
      copy instance
    • builder

      static CustomLineItemDraftBuilder builder()
      builder factory method for CustomLineItemDraft
      Returns:
      builder
    • builder

      create builder for CustomLineItemDraft instance
      Parameters:
      template - instance with prefilled values for the builder
      Returns:
      builder
    • withCustomLineItemDraft

      default <T> T withCustomLineItemDraft(Function<CustomLineItemDraft,T> helper)
      accessor map function
      Type Parameters:
      T - mapped type
      Parameters:
      helper - function to map the object
      Returns:
      mapped value
    • typeReference

      static com.fasterxml.jackson.core.type.TypeReference<CustomLineItemDraft> typeReference()
      gives a TypeReference for usage with Jackson DataBind
      Returns:
      TypeReference