Class LocalizedEnumValueUpdateActionUtils
- java.lang.Object
-
- com.commercetools.sync.producttypes.utils.LocalizedEnumValueUpdateActionUtils
-
public final class LocalizedEnumValueUpdateActionUtils 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.LocalizedEnumValue oldEnumValue, io.sphere.sdk.models.LocalizedEnumValue newEnumValue)Compares thelabelvalues of an oldLocalizedEnumValueand a newLocalizedEnumValueand returns anOptionalof update action, which would contain the"changeLabel"UpdateAction.static java.util.List<io.sphere.sdk.commands.UpdateAction<io.sphere.sdk.producttypes.ProductType>>buildLocalizedEnumValuesUpdateActions(java.lang.String attributeDefinitionName, java.util.List<io.sphere.sdk.models.LocalizedEnumValue> oldEnumValues, java.util.List<io.sphere.sdk.models.LocalizedEnumValue> newEnumValues)Compares a list of oldLocalizedEnumValues with a list of newLocalizedEnumValues for a given attribute definition and builds required update actions (e.g addLocalizedEnumValue, removeLocalizedEnumValue, changeLocalizedEnumValueOrder) and 1-1 update actions on localized enum values (e.g.static java.util.List<io.sphere.sdk.commands.UpdateAction<io.sphere.sdk.producttypes.ProductType>>buildLocalizedEnumValueUpdateActions(java.lang.String attributeDefinitionName, io.sphere.sdk.models.LocalizedEnumValue oldEnumValue, io.sphere.sdk.models.LocalizedEnumValue newEnumValue)Compares all the fields of an oldLocalizedEnumValueand a newLocalizedEnumValueand returns a list ofUpdateAction<ProductType> as a result.
-
-
-
Method Detail
-
buildLocalizedEnumValuesUpdateActions
@Nonnull public static java.util.List<io.sphere.sdk.commands.UpdateAction<io.sphere.sdk.producttypes.ProductType>> buildLocalizedEnumValuesUpdateActions(@Nonnull java.lang.String attributeDefinitionName, @Nonnull java.util.List<io.sphere.sdk.models.LocalizedEnumValue> oldEnumValues, @Nullable java.util.List<io.sphere.sdk.models.LocalizedEnumValue> newEnumValues)Compares a list of oldLocalizedEnumValues with a list of newLocalizedEnumValues for a given attribute definition and builds required update actions (e.g addLocalizedEnumValue, removeLocalizedEnumValue, changeLocalizedEnumValueOrder) and 1-1 update actions on localized enum values (e.g. changeLocalizedEnumValueLabel) for the required resource. If both theLocalizedEnumValue's are identical, then no update action is needed and hence an emptyListis returned.If the list of new
LocalizedEnumValues isnull, then remove actions are built for every existing localized enum value in theoldEnumValueslist.- Parameters:
attributeDefinitionName- the attribute name whose localized enum values are going to be synced.oldEnumValues- the old list of localized enum values.newEnumValues- the new list of localized enum values.- Returns:
- a list of localized enum values update actions if the list of localized enum values is not identical. Otherwise, if the localized enum values are identical, an empty list is returned.
- Throws:
DuplicateKeyException- in case there are localized enum values with duplicate keys.
-
buildLocalizedEnumValueUpdateActions
@Nonnull public static java.util.List<io.sphere.sdk.commands.UpdateAction<io.sphere.sdk.producttypes.ProductType>> buildLocalizedEnumValueUpdateActions(@Nonnull java.lang.String attributeDefinitionName, @Nonnull io.sphere.sdk.models.LocalizedEnumValue oldEnumValue, @Nonnull io.sphere.sdk.models.LocalizedEnumValue newEnumValue)Compares all the fields of an oldLocalizedEnumValueand a newLocalizedEnumValueand returns a list ofUpdateAction<ProductType> as a result. If bothLocalizedEnumValuehave identical fields then no update action is needed and hence an emptyListis returned.- Parameters:
attributeDefinitionName- the attribute definition name whose localized enum values belong to.oldEnumValue- the localized enum value which should be updated.newEnumValue- the localized enum value where we get the new fields.- Returns:
- A list with the update actions or an empty list if the localized 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.LocalizedEnumValue oldEnumValue, @Nonnull io.sphere.sdk.models.LocalizedEnumValue newEnumValue)Compares thelabelvalues of an oldLocalizedEnumValueand a newLocalizedEnumValueand returns anOptionalof update action, which would contain the"changeLabel"UpdateAction. If both, old and newLocalizedEnumValuehave the samelabelvalues, then no update action is needed and empty optional will be returned.- Parameters:
attributeDefinitionName- the attribute definition name whose localized enum values belong to.oldEnumValue- the old localized enum value.newEnumValue- the new localized enum value which contains the new description.- Returns:
- optional containing update action or empty optional if labels are identical.
-
-