Class LineItemDraftBuilder
- All Implemented Interfaces:
io.vrap.rmf.base.client.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.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) External Tax Rate for the Line Item if the Cart has theExternal
TaxMode.External Tax Rate for the Line Item if the Cart has theExternal
TaxMode.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.External Tax Rate for the Line Item if the Cart has theExternal
TaxMode.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.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 instanceid
of a published Product.Quantity of the Product Variant to add to the Cart.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.External Tax Rate for the Line Item if the Cart has theExternal
TaxMode.withExternalTotalPrice
(Function<ExternalLineItemTotalPriceBuilder, ExternalLineItemTotalPrice> builder) Sets the LineItemprice
andtotalPrice
values, and thepriceMode
toExternalTotal
LineItemPriceMode.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) External Tax Rate for the Line Item if the Cart has the
External
TaxMode.- Parameters:
builder
- function to build the externalTaxRate value- Returns:
- Builder
-
withExternalTaxRate
public LineItemDraftBuilder withExternalTaxRate(Function<ExternalTaxRateDraftBuilder, ExternalTaxRateDraft> builder) External Tax Rate for the Line Item if the Cart has the
External
TaxMode.- Parameters:
builder
- function to build the externalTaxRate value- Returns:
- Builder
-
externalTaxRate
External Tax Rate for the Line Item if the Cart has the
External
TaxMode.- Parameters:
externalTaxRate
- value to be set- 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
External Tax Rate for the Line Item if the Cart has the
External
TaxMode.- Returns:
- externalTaxRate
-
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 interfaceio.vrap.rmf.base.client.Builder<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
-