Class LineItemDraftBuilder
- All Implemented Interfaces:
Builder<LineItemDraft>
Example to create an instance using the builder pattern
LineItemDraft lineItemDraft = LineItemDraft.builder()
.build()
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionaddedAt
(ZonedDateTime addedAt) Date and time (UTC) the Product Variant is added to the Cart.addPerMethodExternalTaxRate
(Function<MethodExternalTaxRateDraftBuilder, MethodExternalTaxRateDraft> builder) Sets the external Tax Rates for individual Shipping Methods, if the Cart has theExternal
TaxMode andMultiple
ShippingMode.build()
builds LineItemDraft with checking for non-null required valuesbuilds LineItemDraft without checking for non-null required valuescustom
(CustomFieldsDraft custom) Custom Fields for the Line Item.Custom Fields for the Line Item.distributionChannel
(ChannelResourceIdentifier distributionChannel) Used to select a Product Price.distributionChannel
(Function<ChannelResourceIdentifierBuilder, ChannelResourceIdentifierBuilder> builder) Used to select a Product Price.externalPrice
(Money externalPrice) Sets the LineItemprice
value, and thepriceMode
toExternalPrice
LineItemPriceMode.externalPrice
(Function<MoneyBuilder, MoneyBuilder> builder) Sets the LineItemprice
value, and thepriceMode
toExternalPrice
LineItemPriceMode.externalTaxRate
(ExternalTaxRateDraft externalTaxRate) Sets the external Tax Rate for the Line Item, if the Cart has theExternal
TaxMode andSingle
ShippingMode.Sets the external Tax Rate for the Line Item, if the Cart has theExternal
TaxMode andSingle
ShippingMode.externalTotalPrice
(ExternalLineItemTotalPrice externalTotalPrice) Sets the LineItemprice
andtotalPrice
values, and thepriceMode
toExternalTotal
LineItemPriceMode.externalTotalPrice
(Function<ExternalLineItemTotalPriceBuilder, ExternalLineItemTotalPriceBuilder> builder) Sets the LineItemprice
andtotalPrice
values, and thepriceMode
toExternalTotal
LineItemPriceMode.Date and time (UTC) the Product Variant is added to the Cart.Custom Fields for the Line Item.Used to select a Product Price.Sets the LineItemprice
value, and thepriceMode
toExternalPrice
LineItemPriceMode.Sets the external Tax Rate for the Line Item, if the Cart has theExternal
TaxMode andSingle
ShippingMode.Sets the LineItemprice
andtotalPrice
values, and thepriceMode
toExternalTotal
LineItemPriceMode.Inventory mode specific to the Line Item only, and valid for the entirequantity
of the Line Item.getKey()
User-defined unique identifier of the LineItem.Sets the external Tax Rates for individual Shipping Methods, if the Cart has theExternal
TaxMode andMultiple
ShippingMode.id
of a published Product.Quantity of the Product Variant to add to the Cart.Container for Line Item-specific addresses.getSku()
sku
of the ProductVariant.Used to identify Inventory entries that must be reserved.id
of the ProductVariant in the Product.inventoryMode
(InventoryMode inventoryMode) Inventory mode specific to the Line Item only, and valid for the entirequantity
of the Line Item.User-defined unique identifier of the LineItem.static LineItemDraftBuilder
of()
factory method for an instance of LineItemDraftBuilderstatic LineItemDraftBuilder
of
(LineItemDraft template) create builder for LineItemDraft instanceperMethodExternalTaxRate
(MethodExternalTaxRateDraft... perMethodExternalTaxRate) Sets the external Tax Rates for individual Shipping Methods, if the Cart has theExternal
TaxMode andMultiple
ShippingMode.perMethodExternalTaxRate
(List<MethodExternalTaxRateDraft> perMethodExternalTaxRate) Sets the external Tax Rates for individual Shipping Methods, if the Cart has theExternal
TaxMode andMultiple
ShippingMode.plusPerMethodExternalTaxRate
(MethodExternalTaxRateDraft... perMethodExternalTaxRate) Sets the external Tax Rates for individual Shipping Methods, if the Cart has theExternal
TaxMode andMultiple
ShippingMode.plusPerMethodExternalTaxRate
(Function<MethodExternalTaxRateDraftBuilder, MethodExternalTaxRateDraftBuilder> builder) Sets the external Tax Rates for individual Shipping Methods, if the Cart has theExternal
TaxMode andMultiple
ShippingMode.id
of a published Product.Quantity of the Product Variant to add to the Cart.setPerMethodExternalTaxRate
(Function<MethodExternalTaxRateDraftBuilder, MethodExternalTaxRateDraft> builder) Sets the external Tax Rates for individual Shipping Methods, if the Cart has theExternal
TaxMode andMultiple
ShippingMode.shippingDetails
(ItemShippingDetailsDraft shippingDetails) Container for Line Item-specific addresses.Container for Line Item-specific addresses.sku
of the ProductVariant.supplyChannel
(ChannelResourceIdentifier supplyChannel) Used to identify Inventory entries that must be reserved.Used to identify Inventory entries that must be reserved.id
of the ProductVariant in the Product.Custom Fields for the Line Item.withDistributionChannel
(Function<ChannelResourceIdentifierBuilder, ChannelResourceIdentifier> builder) Used to select a Product Price.withExternalPrice
(Function<MoneyBuilder, Money> builder) Sets the LineItemprice
value, and thepriceMode
toExternalPrice
LineItemPriceMode.Sets the external Tax Rate for the Line Item, if the Cart has theExternal
TaxMode andSingle
ShippingMode.withExternalTotalPrice
(Function<ExternalLineItemTotalPriceBuilder, ExternalLineItemTotalPrice> builder) Sets the LineItemprice
andtotalPrice
values, and thepriceMode
toExternalTotal
LineItemPriceMode.withPerMethodExternalTaxRate
(Function<MethodExternalTaxRateDraftBuilder, MethodExternalTaxRateDraftBuilder> builder) Sets the external Tax Rates for individual Shipping Methods, if the Cart has theExternal
TaxMode andMultiple
ShippingMode.Container for Line Item-specific addresses.Used to identify Inventory entries that must be reserved.
-
Constructor Details
-
LineItemDraftBuilder
public LineItemDraftBuilder()
-
-
Method Details
-
key
User-defined unique identifier of the LineItem.
- Parameters:
key
- value to be set- Returns:
- Builder
-
productId
id
of a published Product.- Parameters:
productId
- value to be set- Returns:
- Builder
-
variantId
id
of the ProductVariant in the Product. If not provided, the Master Variant is used.- Parameters:
variantId
- value to be set- Returns:
- Builder
-
sku
sku
of the ProductVariant.- Parameters:
sku
- value to be set- Returns:
- Builder
-
quantity
Quantity of the Product Variant to add to the Cart.
- Parameters:
quantity
- value to be set- Returns:
- Builder
-
addedAt
Date and time (UTC) the Product Variant is added to the Cart. If not set, it defaults to the current date and time.
Optional for backwards compatibility reasons.
- Parameters:
addedAt
- value to be set- Returns:
- Builder
-
distributionChannel
public LineItemDraftBuilder distributionChannel(Function<ChannelResourceIdentifierBuilder, ChannelResourceIdentifierBuilder> builder) Used to select a Product Price. The referenced Channel must have the
ProductDistribution
ChannelRoleEnum.If the Cart is bound to a Store with
distributionChannels
set, the Channel must match one of the Store's distribution channels.- Parameters:
builder
- function to build the distributionChannel value- Returns:
- Builder
-
withDistributionChannel
public LineItemDraftBuilder withDistributionChannel(Function<ChannelResourceIdentifierBuilder, ChannelResourceIdentifier> builder) Used to select a Product Price. The referenced Channel must have the
ProductDistribution
ChannelRoleEnum.If the Cart is bound to a Store with
distributionChannels
set, the Channel must match one of the Store's distribution channels.- Parameters:
builder
- function to build the distributionChannel value- Returns:
- Builder
-
distributionChannel
public LineItemDraftBuilder distributionChannel(@Nullable ChannelResourceIdentifier distributionChannel) Used to select a Product Price. The referenced Channel must have the
ProductDistribution
ChannelRoleEnum.If the Cart is bound to a Store with
distributionChannels
set, the Channel must match one of the Store's distribution channels.- Parameters:
distributionChannel
- value to be set- Returns:
- Builder
-
supplyChannel
public LineItemDraftBuilder supplyChannel(Function<ChannelResourceIdentifierBuilder, ChannelResourceIdentifierBuilder> builder) Used to identify Inventory entries that must be reserved. The referenced Channel must have the
InventorySupply
ChannelRoleEnum.- Parameters:
builder
- function to build the supplyChannel value- Returns:
- Builder
-
withSupplyChannel
public LineItemDraftBuilder withSupplyChannel(Function<ChannelResourceIdentifierBuilder, ChannelResourceIdentifier> builder) Used to identify Inventory entries that must be reserved. The referenced Channel must have the
InventorySupply
ChannelRoleEnum.- Parameters:
builder
- function to build the supplyChannel value- Returns:
- Builder
-
supplyChannel
Used to identify Inventory entries that must be reserved. The referenced Channel must have the
InventorySupply
ChannelRoleEnum.- Parameters:
supplyChannel
- value to be set- Returns:
- Builder
-
externalPrice
Sets the LineItem
price
value, and thepriceMode
toExternalPrice
LineItemPriceMode.- Parameters:
builder
- function to build the externalPrice value- Returns:
- Builder
-
withExternalPrice
Sets the LineItem
price
value, and thepriceMode
toExternalPrice
LineItemPriceMode.- Parameters:
builder
- function to build the externalPrice value- Returns:
- Builder
-
externalPrice
Sets the LineItem
price
value, and thepriceMode
toExternalPrice
LineItemPriceMode.- Parameters:
externalPrice
- value to be set- Returns:
- Builder
-
externalTotalPrice
public LineItemDraftBuilder externalTotalPrice(Function<ExternalLineItemTotalPriceBuilder, ExternalLineItemTotalPriceBuilder> builder) Sets the LineItem
price
andtotalPrice
values, and thepriceMode
toExternalTotal
LineItemPriceMode.- Parameters:
builder
- function to build the externalTotalPrice value- Returns:
- Builder
-
withExternalTotalPrice
public LineItemDraftBuilder withExternalTotalPrice(Function<ExternalLineItemTotalPriceBuilder, ExternalLineItemTotalPrice> builder) Sets the LineItem
price
andtotalPrice
values, and thepriceMode
toExternalTotal
LineItemPriceMode.- Parameters:
builder
- function to build the externalTotalPrice value- Returns:
- Builder
-
externalTotalPrice
public LineItemDraftBuilder externalTotalPrice(@Nullable ExternalLineItemTotalPrice externalTotalPrice) Sets the LineItem
price
andtotalPrice
values, and thepriceMode
toExternalTotal
LineItemPriceMode.- Parameters:
externalTotalPrice
- value to be set- Returns:
- Builder
-
externalTaxRate
public LineItemDraftBuilder externalTaxRate(Function<ExternalTaxRateDraftBuilder, ExternalTaxRateDraftBuilder> builder) Sets the external Tax Rate for the Line Item, if the Cart has the
External
TaxMode andSingle
ShippingMode. If the Cart hasMultiple
ShippingMode, the Tax Rate is accepted but ignored.- Parameters:
builder
- function to build the externalTaxRate value- Returns:
- Builder
-
withExternalTaxRate
public LineItemDraftBuilder withExternalTaxRate(Function<ExternalTaxRateDraftBuilder, ExternalTaxRateDraft> builder) Sets the external Tax Rate for the Line Item, if the Cart has the
External
TaxMode andSingle
ShippingMode. If the Cart hasMultiple
ShippingMode, the Tax Rate is accepted but ignored.- Parameters:
builder
- function to build the externalTaxRate value- Returns:
- Builder
-
externalTaxRate
Sets the external Tax Rate for the Line Item, if the Cart has the
External
TaxMode andSingle
ShippingMode. If the Cart hasMultiple
ShippingMode, the Tax Rate is accepted but ignored.- Parameters:
externalTaxRate
- value to be set- Returns:
- Builder
-
perMethodExternalTaxRate
public LineItemDraftBuilder perMethodExternalTaxRate(@Nullable MethodExternalTaxRateDraft... perMethodExternalTaxRate) Sets the external Tax Rates for individual Shipping Methods, if the Cart has the
External
TaxMode andMultiple
ShippingMode.- Parameters:
perMethodExternalTaxRate
- value to be set- Returns:
- Builder
-
perMethodExternalTaxRate
public LineItemDraftBuilder perMethodExternalTaxRate(@Nullable List<MethodExternalTaxRateDraft> perMethodExternalTaxRate) Sets the external Tax Rates for individual Shipping Methods, if the Cart has the
External
TaxMode andMultiple
ShippingMode.- Parameters:
perMethodExternalTaxRate
- value to be set- Returns:
- Builder
-
plusPerMethodExternalTaxRate
public LineItemDraftBuilder plusPerMethodExternalTaxRate(@Nullable MethodExternalTaxRateDraft... perMethodExternalTaxRate) Sets the external Tax Rates for individual Shipping Methods, if the Cart has the
External
TaxMode andMultiple
ShippingMode.- Parameters:
perMethodExternalTaxRate
- value to be set- Returns:
- Builder
-
plusPerMethodExternalTaxRate
public LineItemDraftBuilder plusPerMethodExternalTaxRate(Function<MethodExternalTaxRateDraftBuilder, MethodExternalTaxRateDraftBuilder> builder) Sets the external Tax Rates for individual Shipping Methods, if the Cart has the
External
TaxMode andMultiple
ShippingMode.- Parameters:
builder
- function to build the perMethodExternalTaxRate value- Returns:
- Builder
-
withPerMethodExternalTaxRate
public LineItemDraftBuilder withPerMethodExternalTaxRate(Function<MethodExternalTaxRateDraftBuilder, MethodExternalTaxRateDraftBuilder> builder) Sets the external Tax Rates for individual Shipping Methods, if the Cart has the
External
TaxMode andMultiple
ShippingMode.- Parameters:
builder
- function to build the perMethodExternalTaxRate value- Returns:
- Builder
-
addPerMethodExternalTaxRate
public LineItemDraftBuilder addPerMethodExternalTaxRate(Function<MethodExternalTaxRateDraftBuilder, MethodExternalTaxRateDraft> builder) Sets the external Tax Rates for individual Shipping Methods, if the Cart has the
External
TaxMode andMultiple
ShippingMode.- Parameters:
builder
- function to build the perMethodExternalTaxRate value- Returns:
- Builder
-
setPerMethodExternalTaxRate
public LineItemDraftBuilder setPerMethodExternalTaxRate(Function<MethodExternalTaxRateDraftBuilder, MethodExternalTaxRateDraft> builder) Sets the external Tax Rates for individual Shipping Methods, if the Cart has the
External
TaxMode andMultiple
ShippingMode.- Parameters:
builder
- function to build the perMethodExternalTaxRate value- Returns:
- Builder
-
inventoryMode
Inventory mode specific to the Line Item only, and valid for the entire
quantity
of the Line Item. Set only if the inventory mode should be different from theinventoryMode
specified on the Cart.- Parameters:
inventoryMode
- value to be set- Returns:
- Builder
-
shippingDetails
public LineItemDraftBuilder shippingDetails(Function<ItemShippingDetailsDraftBuilder, ItemShippingDetailsDraftBuilder> builder) Container for Line Item-specific addresses.
- Parameters:
builder
- function to build the shippingDetails value- Returns:
- Builder
-
withShippingDetails
public LineItemDraftBuilder withShippingDetails(Function<ItemShippingDetailsDraftBuilder, ItemShippingDetailsDraft> builder) Container for Line Item-specific addresses.
- Parameters:
builder
- function to build the shippingDetails value- Returns:
- Builder
-
shippingDetails
Container for Line Item-specific addresses.
- Parameters:
shippingDetails
- value to be set- Returns:
- Builder
-
custom
public LineItemDraftBuilder custom(Function<CustomFieldsDraftBuilder, CustomFieldsDraftBuilder> builder) Custom Fields for the Line Item.
- Parameters:
builder
- function to build the custom value- Returns:
- Builder
-
withCustom
public LineItemDraftBuilder withCustom(Function<CustomFieldsDraftBuilder, CustomFieldsDraft> builder) Custom Fields for the Line Item.
- Parameters:
builder
- function to build the custom value- Returns:
- Builder
-
custom
Custom Fields for the Line Item.
- Parameters:
custom
- value to be set- Returns:
- Builder
-
getKey
User-defined unique identifier of the LineItem.
- Returns:
- key
-
getProductId
id
of a published Product.- Returns:
- productId
-
getVariantId
id
of the ProductVariant in the Product. If not provided, the Master Variant is used.- Returns:
- variantId
-
getSku
sku
of the ProductVariant.- Returns:
- sku
-
getQuantity
Quantity of the Product Variant to add to the Cart.
- Returns:
- quantity
-
getAddedAt
Date and time (UTC) the Product Variant is added to the Cart. If not set, it defaults to the current date and time.
Optional for backwards compatibility reasons.
- Returns:
- addedAt
-
getDistributionChannel
Used to select a Product Price. The referenced Channel must have the
ProductDistribution
ChannelRoleEnum.If the Cart is bound to a Store with
distributionChannels
set, the Channel must match one of the Store's distribution channels.- Returns:
- distributionChannel
-
getSupplyChannel
Used to identify Inventory entries that must be reserved. The referenced Channel must have the
InventorySupply
ChannelRoleEnum.- Returns:
- supplyChannel
-
getExternalPrice
Sets the LineItem
price
value, and thepriceMode
toExternalPrice
LineItemPriceMode.- Returns:
- externalPrice
-
getExternalTotalPrice
Sets the LineItem
price
andtotalPrice
values, and thepriceMode
toExternalTotal
LineItemPriceMode.- Returns:
- externalTotalPrice
-
getExternalTaxRate
Sets the external Tax Rate for the Line Item, if the Cart has the
External
TaxMode andSingle
ShippingMode. If the Cart hasMultiple
ShippingMode, the Tax Rate is accepted but ignored.- Returns:
- externalTaxRate
-
getPerMethodExternalTaxRate
Sets the external Tax Rates for individual Shipping Methods, if the Cart has the
External
TaxMode andMultiple
ShippingMode.- Returns:
- perMethodExternalTaxRate
-
getInventoryMode
Inventory mode specific to the Line Item only, and valid for the entire
quantity
of the Line Item. Set only if the inventory mode should be different from theinventoryMode
specified on the Cart.- Returns:
- inventoryMode
-
getShippingDetails
Container for Line Item-specific addresses.
- Returns:
- shippingDetails
-
getCustom
Custom Fields for the Line Item.
- Returns:
- custom
-
build
builds LineItemDraft with checking for non-null required values- Specified by:
build
in interfaceBuilder<LineItemDraft>
- Returns:
- LineItemDraft
-
buildUnchecked
builds LineItemDraft without checking for non-null required values- Returns:
- LineItemDraft
-
of
factory method for an instance of LineItemDraftBuilder- Returns:
- builder
-
of
create builder for LineItemDraft instance- Parameters:
template
- instance with prefilled values for the builder- Returns:
- builder
-