Class PlainEnumValueUpdateActionUtils
- java.lang.Object
-
- com.commercetools.sync.producttypes.utils.PlainEnumValueUpdateActionUtils
-
public final class PlainEnumValueUpdateActionUtils extends java.lang.Object
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.util.Optional<io.sphere.sdk.commands.UpdateAction<io.sphere.sdk.producttypes.ProductType>>
buildChangeLabelAction(java.lang.String attributeDefinitionName, io.sphere.sdk.models.EnumValue oldEnumValue, io.sphere.sdk.models.EnumValue newEnumValue)
Compares thelabel
values of an oldEnumValue
and a newEnumValue
and returns anOptional
of update action, which would contain the"changeLabel"
UpdateAction
.static java.util.List<io.sphere.sdk.commands.UpdateAction<io.sphere.sdk.producttypes.ProductType>>
buildEnumValuesUpdateActions(java.lang.String attributeDefinitionName, java.util.List<io.sphere.sdk.models.EnumValue> oldEnumValues, java.util.List<io.sphere.sdk.models.EnumValue> newEnumValues)
Compares a list of oldEnumValue
s with a list of newEnumValue
s for a given attribute definition and builds required update actions (e.g addEnumValue, removeEnumValue, changeEnumValueOrder) and 1-1 update actions on enum values (e.g.static java.util.List<io.sphere.sdk.commands.UpdateAction<io.sphere.sdk.producttypes.ProductType>>
buildEnumValueUpdateActions(java.lang.String attributeDefinitionName, io.sphere.sdk.models.EnumValue oldEnumValue, io.sphere.sdk.models.EnumValue newEnumValue)
Compares all the fields of an oldEnumValue
and a newEnumValue
and returns a list ofUpdateAction
<ProductType
> as a result.
-
-
-
Method Detail
-
buildEnumValuesUpdateActions
@Nonnull public static java.util.List<io.sphere.sdk.commands.UpdateAction<io.sphere.sdk.producttypes.ProductType>> buildEnumValuesUpdateActions(@Nonnull java.lang.String attributeDefinitionName, @Nonnull java.util.List<io.sphere.sdk.models.EnumValue> oldEnumValues, @Nullable java.util.List<io.sphere.sdk.models.EnumValue> newEnumValues)
Compares a list of oldEnumValue
s with a list of newEnumValue
s for a given attribute definition and builds required update actions (e.g addEnumValue, removeEnumValue, changeEnumValueOrder) and 1-1 update actions on enum values (e.g. changeEnumValueLabel) for the required resource. If both theEnumValue
's are identical, then no update action is needed and hence an emptyList
is returned.If the list of new
EnumValue
s isnull
, then remove actions are built for every existing plain enum value in theoldEnumValues
list.- Parameters:
attributeDefinitionName
- the attribute name whose plain enum values are going to be synced.oldEnumValues
- the old list of plain enum values.newEnumValues
- the new list of plain enum values.- Returns:
- a list of plain enum values update actions if the list of plain enum values is not identical. Otherwise, if the plain enum values are identical, an empty list is returned.
- Throws:
DuplicateKeyException
- in case there are localized enum values with duplicate keys.
-
buildEnumValueUpdateActions
@Nonnull public static java.util.List<io.sphere.sdk.commands.UpdateAction<io.sphere.sdk.producttypes.ProductType>> buildEnumValueUpdateActions(@Nonnull java.lang.String attributeDefinitionName, @Nonnull io.sphere.sdk.models.EnumValue oldEnumValue, @Nonnull io.sphere.sdk.models.EnumValue newEnumValue)
Compares all the fields of an oldEnumValue
and a newEnumValue
and returns a list ofUpdateAction
<ProductType
> as a result. If bothEnumValue
have identical fields, then no update action is needed and hence an emptyList
is returned.- Parameters:
attributeDefinitionName
- the attribute definition name whose plain enum values belong to.oldEnumValue
- the enum value which should be updated.newEnumValue
- the enum value where we get the new fields.- Returns:
- A list with the update actions or an empty list if the enum values are identical.
-
buildChangeLabelAction
@Nonnull public static java.util.Optional<io.sphere.sdk.commands.UpdateAction<io.sphere.sdk.producttypes.ProductType>> buildChangeLabelAction(@Nonnull java.lang.String attributeDefinitionName, @Nonnull io.sphere.sdk.models.EnumValue oldEnumValue, @Nonnull io.sphere.sdk.models.EnumValue newEnumValue)
Compares thelabel
values of an oldEnumValue
and a newEnumValue
and returns anOptional
of update action, which would contain the"changeLabel"
UpdateAction
. If both, old and newEnumValue
have the samelabel
values, then no update action is needed and empty optional will be returned.- Parameters:
attributeDefinitionName
- the attribute definition name whose plain enum values belong to.oldEnumValue
- the old plain enum value.newEnumValue
- the new plain enum value which contains the new description.- Returns:
- optional containing update action or empty optional if labels are identical.
-
-