Interface ProductVariantPatch
Representation for an update of a ProductVariant. Use this type to import updates for existing ProductVariants in a Project.
Example to create an instance using the builder pattern
ProductVariantPatch productVariantPatch = ProductVariantPatch.builder()
.productVariant(productVariantBuilder -> productVariantBuilder)
.build()
-
Method Summary
Modifier and TypeMethodDescriptionstatic ProductVariantPatchBuilder
builder()
builder factory method for ProductVariantPatchstatic ProductVariantPatchBuilder
builder
(ProductVariantPatch template) create builder for ProductVariantPatch instancestatic ProductVariantPatch
deepCopy
(ProductVariantPatch template) factory method to create a deep copy of ProductVariantPatch@Valid Attributes
Maps toProductVariant.attributes
.@Valid ProductKeyReference
Reference to the Product which contains the ProductVariant.@NotNull @Valid ProductVariantKeyReference
Reference to the ProductVariant to update.Iffalse
, the attribute changes are applied to both current and staged projected representations of the Product.static ProductVariantPatch
of()
factory methodstatic ProductVariantPatch
of
(ProductVariantPatch template) factory method to create a shallow copy ProductVariantPatchvoid
setAttributes
(Attributes attributes) Maps toProductVariant.attributes
.void
setProduct
(ProductKeyReference product) Reference to the Product which contains the ProductVariant.void
setProductVariant
(ProductVariantKeyReference productVariant) Reference to the ProductVariant to update.void
Iffalse
, the attribute changes are applied to both current and staged projected representations of the Product.static com.fasterxml.jackson.core.type.TypeReference<ProductVariantPatch>
gives a TypeReference for usage with Jackson DataBinddefault <T> T
withProductVariantPatch
(Function<ProductVariantPatch, T> helper) accessor map function
-
Method Details
-
getProductVariant
Reference to the ProductVariant to update. If the referenced ProductVariant does not exist, the
state
of the ImportOperation will be set tounresolved
until the necessary ProductVariant is created.- Returns:
- productVariant
-
getAttributes
Maps to
ProductVariant.attributes
.- The referenced Attribute must be defined in an existing ProductType, or the
state
of the ImportOperation will bevalidationFailed
. - Setting the value of a non-required Attribute to
null
will remove the Attribute. - Attempting to set a
null
value to a required Attribute will make the import operation fail with an InvalidOperation error. - Importing LocalizableTextAttributes or LocalizableTextSetAttributes follows an override pattern, meaning that omitted localized fields will be deleted, new fields will be created, and existing fields will be updated. You can also delete localized fields by setting their value to
null
.
- Returns:
- attributes
- The referenced Attribute must be defined in an existing ProductType, or the
-
getStaged
Boolean getStaged()If
false
, the attribute changes are applied to both current and staged projected representations of the Product.- Returns:
- staged
-
getProduct
Reference to the Product which contains the ProductVariant. Setting a value will batch process the import operations to minimize concurrency errors. If set, this field is required for every ProductVariantPatch in the ProductVariantPatchRequest.
- Returns:
- product
-
setProductVariant
Reference to the ProductVariant to update. If the referenced ProductVariant does not exist, the
state
of the ImportOperation will be set tounresolved
until the necessary ProductVariant is created.- Parameters:
productVariant
- value to be set
-
setAttributes
Maps to
ProductVariant.attributes
.- The referenced Attribute must be defined in an existing ProductType, or the
state
of the ImportOperation will bevalidationFailed
. - Setting the value of a non-required Attribute to
null
will remove the Attribute. - Attempting to set a
null
value to a required Attribute will make the import operation fail with an InvalidOperation error. - Importing LocalizableTextAttributes or LocalizableTextSetAttributes follows an override pattern, meaning that omitted localized fields will be deleted, new fields will be created, and existing fields will be updated. You can also delete localized fields by setting their value to
null
.
- Parameters:
attributes
- value to be set
- The referenced Attribute must be defined in an existing ProductType, or the
-
setStaged
If
false
, the attribute changes are applied to both current and staged projected representations of the Product.- Parameters:
staged
- value to be set
-
setProduct
Reference to the Product which contains the ProductVariant. Setting a value will batch process the import operations to minimize concurrency errors. If set, this field is required for every ProductVariantPatch in the ProductVariantPatchRequest.
- Parameters:
product
- value to be set
-
of
factory method- Returns:
- instance of ProductVariantPatch
-
of
factory method to create a shallow copy ProductVariantPatch- Parameters:
template
- instance to be copied- Returns:
- copy instance
-
deepCopy
factory method to create a deep copy of ProductVariantPatch- Parameters:
template
- instance to be copied- Returns:
- copy instance
-
builder
builder factory method for ProductVariantPatch- Returns:
- builder
-
builder
create builder for ProductVariantPatch instance- Parameters:
template
- instance with prefilled values for the builder- Returns:
- builder
-
withProductVariantPatch
accessor map function- Type Parameters:
T
- mapped type- Parameters:
helper
- function to map the object- Returns:
- mapped value
-
typeReference
gives a TypeReference for usage with Jackson DataBind- Returns:
- TypeReference
-