Interface ProductVariantPatch
- All Known Implementing Classes:
ProductVariantPatchImpl
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
.@NotNull @Valid ProductVariantKeyReference
The ProductVariant to which this patch is applied.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
setProductVariant
(ProductVariantKeyReference productVariant) The ProductVariant to which this patch is applied.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
The ProductVariant to which this patch is applied. The Reference to the ProductVariant with which the ProductVariantPatch is associated. If 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
If
false
, the attribute changes are applied to both current and staged projected representations of the Product.- Returns:
- staged
-
setProductVariant
The ProductVariant to which this patch is applied. The Reference to the ProductVariant with which the ProductVariantPatch is associated. If 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
-
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
-