Class MyCartDraftBuilder

java.lang.Object
com.commercetools.api.models.me.MyCartDraftBuilder
All Implemented Interfaces:
Builder<MyCartDraft>

public class MyCartDraftBuilder extends Object implements Builder<MyCartDraft>
MyCartDraftBuilder
Example to create an instance using the builder pattern

     MyCartDraft myCartDraft = MyCartDraft.builder()
             .currency("{currency}")
             .build()
 
  • Constructor Details

    • MyCartDraftBuilder

      public MyCartDraftBuilder()
  • Method Details

    • currency

      public MyCartDraftBuilder currency(String currency)

      Currency the Cart uses.

      Parameters:
      currency - value to be set
      Returns:
      Builder
    • customerEmail

      public MyCartDraftBuilder customerEmail(@Nullable String customerEmail)

      Email address of the Customer the Cart belongs to.

      Parameters:
      customerEmail - value to be set
      Returns:
      Builder
    • businessUnit

      ResourceIdentifier to the Business Unit the Cart should belong to. The Customer must be an Associate of the Business Unit.

      Parameters:
      builder - function to build the businessUnit value
      Returns:
      Builder
    • withBusinessUnit

      ResourceIdentifier to the Business Unit the Cart should belong to. The Customer must be an Associate of the Business Unit.

      Parameters:
      builder - function to build the businessUnit value
      Returns:
      Builder
    • businessUnit

      public MyCartDraftBuilder businessUnit(@Nullable BusinessUnitResourceIdentifier businessUnit)

      ResourceIdentifier to the Business Unit the Cart should belong to. The Customer must be an Associate of the Business Unit.

      Parameters:
      businessUnit - value to be set
      Returns:
      Builder
    • store

      ResourceIdentifier to the Store the Cart should belong to. Once set, it cannot be updated.

      Parameters:
      builder - function to build the store value
      Returns:
      Builder
    • withStore

      ResourceIdentifier to the Store the Cart should belong to. Once set, it cannot be updated.

      Parameters:
      builder - function to build the store value
      Returns:
      Builder
    • store

      ResourceIdentifier to the Store the Cart should belong to. Once set, it cannot be updated.

      Parameters:
      store - value to be set
      Returns:
      Builder
    • lineItems

      public MyCartDraftBuilder lineItems(@Nullable MyLineItemDraft... lineItems)

      Line Items to add to the Cart.

      Parameters:
      lineItems - value to be set
      Returns:
      Builder
    • lineItems

      public MyCartDraftBuilder lineItems(@Nullable List<MyLineItemDraft> lineItems)

      Line Items to add to the Cart.

      Parameters:
      lineItems - value to be set
      Returns:
      Builder
    • plusLineItems

      public MyCartDraftBuilder plusLineItems(@Nullable MyLineItemDraft... lineItems)

      Line Items to add to the Cart.

      Parameters:
      lineItems - value to be set
      Returns:
      Builder
    • plusLineItems

      Line Items to add to the Cart.

      Parameters:
      builder - function to build the lineItems value
      Returns:
      Builder
    • withLineItems

      Line Items to add to the Cart.

      Parameters:
      builder - function to build the lineItems value
      Returns:
      Builder
    • addLineItems

      Line Items to add to the Cart.

      Parameters:
      builder - function to build the lineItems value
      Returns:
      Builder
    • setLineItems

      Line Items to add to the Cart.

      Parameters:
      builder - function to build the lineItems value
      Returns:
      Builder
    • taxMode

      public MyCartDraftBuilder taxMode(@Nullable TaxMode taxMode)

      Determines how Tax Rates are set. The Disabled TaxMode cannot be set.

      Parameters:
      taxMode - value to be set
      Returns:
      Builder
    • inventoryMode

      public MyCartDraftBuilder inventoryMode(@Nullable InventoryMode inventoryMode)

      Determines how stock quantities are tracked for Line Items in the Cart.

      Parameters:
      inventoryMode - value to be set
      Returns:
      Builder
    • billingAddress

      Billing address associated with the Cart.

      Parameters:
      builder - function to build the billingAddress value
      Returns:
      Builder
    • withBillingAddress

      public MyCartDraftBuilder withBillingAddress(Function<BaseAddressBuilder,BaseAddress> builder)

      Billing address associated with the Cart.

      Parameters:
      builder - function to build the billingAddress value
      Returns:
      Builder
    • billingAddress

      public MyCartDraftBuilder billingAddress(@Nullable BaseAddress billingAddress)

      Billing address associated with the Cart.

      Parameters:
      billingAddress - value to be set
      Returns:
      Builder
    • shippingAddress

      Shipping address associated with the Cart. Determines eligible ShippingMethod rates and Tax Rates of Line Items.

      Parameters:
      builder - function to build the shippingAddress value
      Returns:
      Builder
    • withShippingAddress

      public MyCartDraftBuilder withShippingAddress(Function<BaseAddressBuilder,BaseAddress> builder)

      Shipping address associated with the Cart. Determines eligible ShippingMethod rates and Tax Rates of Line Items.

      Parameters:
      builder - function to build the shippingAddress value
      Returns:
      Builder
    • shippingAddress

      public MyCartDraftBuilder shippingAddress(@Nullable BaseAddress shippingAddress)

      Shipping address associated with the Cart. Determines eligible ShippingMethod rates and Tax Rates of Line Items.

      Parameters:
      shippingAddress - value to be set
      Returns:
      Builder
    • shippingMethod

      Shipping Method for the Cart. If the referenced ShippingMethod has a predicate that does not match the Cart, an InvalidOperation error is returned when creating a Cart.

      Parameters:
      builder - function to build the shippingMethod value
      Returns:
      Builder
    • withShippingMethod

      Shipping Method for the Cart. If the referenced ShippingMethod has a predicate that does not match the Cart, an InvalidOperation error is returned when creating a Cart.

      Parameters:
      builder - function to build the shippingMethod value
      Returns:
      Builder
    • shippingMethod

      public MyCartDraftBuilder shippingMethod(@Nullable ShippingMethodResourceIdentifier shippingMethod)

      Shipping Method for the Cart. If the referenced ShippingMethod has a predicate that does not match the Cart, an InvalidOperation error is returned when creating a Cart.

      Parameters:
      shippingMethod - value to be set
      Returns:
      Builder
    • itemShippingAddresses

      public MyCartDraftBuilder itemShippingAddresses(@Nullable BaseAddress... itemShippingAddresses)

      Multiple shipping addresses of the Cart. Each address must contain a key that is unique in this Cart. The keys are used by LineItems to reference these addresses under their shippingDetails.

      Eligible Shipping Methods or applicable Tax Rates are determined by the Cart shippingAddress, and not itemShippingAddresses.

      Parameters:
      itemShippingAddresses - value to be set
      Returns:
      Builder
    • itemShippingAddresses

      public MyCartDraftBuilder itemShippingAddresses(@Nullable List<BaseAddress> itemShippingAddresses)

      Multiple shipping addresses of the Cart. Each address must contain a key that is unique in this Cart. The keys are used by LineItems to reference these addresses under their shippingDetails.

      Eligible Shipping Methods or applicable Tax Rates are determined by the Cart shippingAddress, and not itemShippingAddresses.

      Parameters:
      itemShippingAddresses - value to be set
      Returns:
      Builder
    • plusItemShippingAddresses

      public MyCartDraftBuilder plusItemShippingAddresses(@Nullable BaseAddress... itemShippingAddresses)

      Multiple shipping addresses of the Cart. Each address must contain a key that is unique in this Cart. The keys are used by LineItems to reference these addresses under their shippingDetails.

      Eligible Shipping Methods or applicable Tax Rates are determined by the Cart shippingAddress, and not itemShippingAddresses.

      Parameters:
      itemShippingAddresses - value to be set
      Returns:
      Builder
    • plusItemShippingAddresses

      public MyCartDraftBuilder plusItemShippingAddresses(Function<BaseAddressBuilder,BaseAddressBuilder> builder)

      Multiple shipping addresses of the Cart. Each address must contain a key that is unique in this Cart. The keys are used by LineItems to reference these addresses under their shippingDetails.

      Eligible Shipping Methods or applicable Tax Rates are determined by the Cart shippingAddress, and not itemShippingAddresses.

      Parameters:
      builder - function to build the itemShippingAddresses value
      Returns:
      Builder
    • withItemShippingAddresses

      public MyCartDraftBuilder withItemShippingAddresses(Function<BaseAddressBuilder,BaseAddressBuilder> builder)

      Multiple shipping addresses of the Cart. Each address must contain a key that is unique in this Cart. The keys are used by LineItems to reference these addresses under their shippingDetails.

      Eligible Shipping Methods or applicable Tax Rates are determined by the Cart shippingAddress, and not itemShippingAddresses.

      Parameters:
      builder - function to build the itemShippingAddresses value
      Returns:
      Builder
    • addItemShippingAddresses

      public MyCartDraftBuilder addItemShippingAddresses(Function<BaseAddressBuilder,BaseAddress> builder)

      Multiple shipping addresses of the Cart. Each address must contain a key that is unique in this Cart. The keys are used by LineItems to reference these addresses under their shippingDetails.

      Eligible Shipping Methods or applicable Tax Rates are determined by the Cart shippingAddress, and not itemShippingAddresses.

      Parameters:
      builder - function to build the itemShippingAddresses value
      Returns:
      Builder
    • setItemShippingAddresses

      public MyCartDraftBuilder setItemShippingAddresses(Function<BaseAddressBuilder,BaseAddress> builder)

      Multiple shipping addresses of the Cart. Each address must contain a key that is unique in this Cart. The keys are used by LineItems to reference these addresses under their shippingDetails.

      Eligible Shipping Methods or applicable Tax Rates are determined by the Cart shippingAddress, and not itemShippingAddresses.

      Parameters:
      builder - function to build the itemShippingAddresses value
      Returns:
      Builder
    • shippingMode

      public MyCartDraftBuilder shippingMode(@Nullable ShippingMode shippingMode)
      • If set to Single, only a single Shipping Method can be added to the Cart.
      • If set to Multiple, multiple Shipping Methods can be added to the Cart.
      Parameters:
      shippingMode - value to be set
      Returns:
      Builder
    • discountCodes

      public MyCartDraftBuilder discountCodes(@Nullable String... discountCodes)

      code of the existing DiscountCodes to add to the Cart.

      Parameters:
      discountCodes - value to be set
      Returns:
      Builder
    • discountCodes

      public MyCartDraftBuilder discountCodes(@Nullable List<String> discountCodes)

      code of the existing DiscountCodes to add to the Cart.

      Parameters:
      discountCodes - value to be set
      Returns:
      Builder
    • plusDiscountCodes

      public MyCartDraftBuilder plusDiscountCodes(@Nullable String... discountCodes)

      code of the existing DiscountCodes to add to the Cart.

      Parameters:
      discountCodes - value to be set
      Returns:
      Builder
    • country

      public MyCartDraftBuilder country(@Nullable String country)

      Used for LineItem Price selection. If used for Create Cart in Store, the provided country must be one of the Store's countries.

      Parameters:
      country - value to be set
      Returns:
      Builder
    • locale

      public MyCartDraftBuilder locale(@Nullable String locale)

      Languages of the Cart. Can only contain languages supported by the Project.

      Parameters:
      locale - value to be set
      Returns:
      Builder
    • deleteDaysAfterLastModification

      public MyCartDraftBuilder deleteDaysAfterLastModification(@Nullable Long deleteDaysAfterLastModification)

      Number of days after which a Cart with Active CartState is deleted since its last modification. If not provided, the default value for this field configured in Project settings is assigned.

      Create a ChangeSubscription for Carts to receive a ResourceDeletedDeliveryPayload upon deletion of the Cart.

      Parameters:
      deleteDaysAfterLastModification - value to be set
      Returns:
      Builder
    • custom

      Custom Fields for the Cart.

      Parameters:
      builder - function to build the custom value
      Returns:
      Builder
    • withCustom

      Custom Fields for the Cart.

      Parameters:
      builder - function to build the custom value
      Returns:
      Builder
    • custom

      Custom Fields for the Cart.

      Parameters:
      custom - value to be set
      Returns:
      Builder
    • getCurrency

      public String getCurrency()

      Currency the Cart uses.

      Returns:
      currency
    • getCustomerEmail

      @Nullable public String getCustomerEmail()

      Email address of the Customer the Cart belongs to.

      Returns:
      customerEmail
    • getBusinessUnit

      @Nullable public BusinessUnitResourceIdentifier getBusinessUnit()

      ResourceIdentifier to the Business Unit the Cart should belong to. The Customer must be an Associate of the Business Unit.

      Returns:
      businessUnit
    • getStore

      ResourceIdentifier to the Store the Cart should belong to. Once set, it cannot be updated.

      Returns:
      store
    • getLineItems

      @Nullable public List<MyLineItemDraft> getLineItems()

      Line Items to add to the Cart.

      Returns:
      lineItems
    • getTaxMode

      @Nullable public TaxMode getTaxMode()

      Determines how Tax Rates are set. The Disabled TaxMode cannot be set.

      Returns:
      taxMode
    • getInventoryMode

      @Nullable public InventoryMode getInventoryMode()

      Determines how stock quantities are tracked for Line Items in the Cart.

      Returns:
      inventoryMode
    • getBillingAddress

      @Nullable public BaseAddress getBillingAddress()

      Billing address associated with the Cart.

      Returns:
      billingAddress
    • getShippingAddress

      @Nullable public BaseAddress getShippingAddress()

      Shipping address associated with the Cart. Determines eligible ShippingMethod rates and Tax Rates of Line Items.

      Returns:
      shippingAddress
    • getShippingMethod

      @Nullable public ShippingMethodResourceIdentifier getShippingMethod()

      Shipping Method for the Cart. If the referenced ShippingMethod has a predicate that does not match the Cart, an InvalidOperation error is returned when creating a Cart.

      Returns:
      shippingMethod
    • getItemShippingAddresses

      @Nullable public List<BaseAddress> getItemShippingAddresses()

      Multiple shipping addresses of the Cart. Each address must contain a key that is unique in this Cart. The keys are used by LineItems to reference these addresses under their shippingDetails.

      Eligible Shipping Methods or applicable Tax Rates are determined by the Cart shippingAddress, and not itemShippingAddresses.

      Returns:
      itemShippingAddresses
    • getShippingMode

      @Nullable public ShippingMode getShippingMode()
      • If set to Single, only a single Shipping Method can be added to the Cart.
      • If set to Multiple, multiple Shipping Methods can be added to the Cart.
      Returns:
      shippingMode
    • getDiscountCodes

      @Nullable public List<String> getDiscountCodes()

      code of the existing DiscountCodes to add to the Cart.

      Returns:
      discountCodes
    • getCountry

      @Nullable public String getCountry()

      Used for LineItem Price selection. If used for Create Cart in Store, the provided country must be one of the Store's countries.

      Returns:
      country
    • getLocale

      @Nullable public String getLocale()

      Languages of the Cart. Can only contain languages supported by the Project.

      Returns:
      locale
    • getDeleteDaysAfterLastModification

      @Nullable public Long getDeleteDaysAfterLastModification()

      Number of days after which a Cart with Active CartState is deleted since its last modification. If not provided, the default value for this field configured in Project settings is assigned.

      Create a ChangeSubscription for Carts to receive a ResourceDeletedDeliveryPayload upon deletion of the Cart.

      Returns:
      deleteDaysAfterLastModification
    • getCustom

      @Nullable public CustomFieldsDraft getCustom()

      Custom Fields for the Cart.

      Returns:
      custom
    • build

      public MyCartDraft build()
      builds MyCartDraft with checking for non-null required values
      Specified by:
      build in interface Builder<MyCartDraft>
      Returns:
      MyCartDraft
    • buildUnchecked

      public MyCartDraft buildUnchecked()
      builds MyCartDraft without checking for non-null required values
      Returns:
      MyCartDraft
    • of

      public static MyCartDraftBuilder of()
      factory method for an instance of MyCartDraftBuilder
      Returns:
      builder
    • of

      public static MyCartDraftBuilder of(MyCartDraft template)
      create builder for MyCartDraft instance
      Parameters:
      template - instance with prefilled values for the builder
      Returns:
      builder