Class 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 the label values of an old EnumValue and a new EnumValue and returns an Optional 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 old EnumValues with a list of new EnumValues 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 old EnumValue and a new EnumValue and returns a list of UpdateAction<ProductType> as a result.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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 old EnumValues with a list of new EnumValues 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 the EnumValue's are identical, then no update action is needed and hence an empty List is returned.

        If the list of new EnumValues is null, then remove actions are built for every existing plain enum value in the oldEnumValues 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 old EnumValue and a new EnumValue and returns a list of UpdateAction<ProductType> as a result. If both EnumValue have identical fields, then no update action is needed and hence an empty List 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 the label values of an old EnumValue and a new EnumValue and returns an Optional of update action, which would contain the "changeLabel" UpdateAction. If both, old and new EnumValue have the same label 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.