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 thelabelvalues of an oldEnumValueand a newEnumValueand returns anOptionalof 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 oldEnumValues with a list of newEnumValues 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 oldEnumValueand a newEnumValueand 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 oldEnumValues with a list of newEnumValues 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 emptyListis returned.If the list of new
EnumValues isnull, then remove actions are built for every existing plain enum value in theoldEnumValueslist.- 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 oldEnumValueand a newEnumValueand returns a list ofUpdateAction<ProductType> as a result. If bothEnumValuehave identical fields, then no update action is needed and hence an emptyListis 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 thelabelvalues of an oldEnumValueand a newEnumValueand returns anOptionalof update action, which would contain the"changeLabel"UpdateAction. If both, old and newEnumValuehave the samelabelvalues, 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.
-
-