Interface CustomLineItemDraft

All Superinterfaces:
CustomizableDraft<CustomLineItemDraft>, io.vrap.rmf.base.client.Draft<CustomLineItemDraft>
All Known Implementing Classes:
CustomLineItemDraftImpl

public interface CustomLineItemDraft extends CustomizableDraft<CustomLineItemDraft>, io.vrap.rmf.base.client.Draft<CustomLineItemDraft>
CustomLineItemDraft
Example to create an instance using the builder pattern

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

    • getName

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

      Name of the Custom Line Item.

      Returns:
      name
    • 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

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

      Returns:
      taxCategory
    • 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

      Container for Custom Line Item-specific addresses.

      Returns:
      shippingDetails
    • 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

      Name of the Custom Line Item.

      Parameters:
      name - 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

      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

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

      Parameters:
      externalTaxRate - value to be set
    • setCustom

      Custom Fields for the Custom Line Item.

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

      Container for Custom Line Item-specific addresses.

      Parameters:
      shippingDetails - value to be set
    • setPriceMode

      • 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

      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

      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

      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