buildActions
@Nonnull
public static <T extends io.sphere.sdk.models.WithKey,U> java.util.List<io.sphere.sdk.commands.UpdateAction<U>> buildActions(@Nonnull
java.lang.String definitionName,
@Nonnull
java.util.List<T> oldEnumValues,
@Nullable
java.util.List<T> newEnumValues,
@Nullable
java.util.function.BiFunction<java.lang.String,java.util.List<java.lang.String>,io.sphere.sdk.commands.UpdateAction<U>> removeEnumCallback,
@Nullable
TriFunction<java.lang.String,T,T,java.util.List<io.sphere.sdk.commands.UpdateAction<U>>> matchingEnumCallback,
@Nullable
java.util.function.BiFunction<java.lang.String,T,io.sphere.sdk.commands.UpdateAction<U>> addEnumCallback,
@Nullable
java.util.function.BiFunction<java.lang.String,java.util.List<T>,io.sphere.sdk.commands.UpdateAction<U>> changeOrderEnumCallback,
@Nullable
java.util.function.BiFunction<java.lang.String,java.util.List<java.lang.String>,io.sphere.sdk.commands.UpdateAction<U>> changeOrderWithKeysEnumCallback)
Compares a list of old oldEnumValues with a list of new newEnumValues for a
given definition. The method serves as an implementation for enum values syncing. The method
takes in functions for building the required update actions (AddEnumValue, ChangeEnumValueOrder
and 1-1 update actions on enum values (e.g. changeLabel) for the required resource.
- Type Parameters:
T - the enum type of the elements to change the order for.
U - the type of the resource in which the update actions will be applied on.
- Parameters:
definitionName - the definition name whose enum values are going to be synced.
oldEnumValues - the old list of plain enum values.
newEnumValues - the new list of plain enum values.
removeEnumCallback - the function that is called in order to remove the new enum instance.
matchingEnumCallback - the function that is called to get the update action resulting from
comparing the enum value fields one by one.
addEnumCallback - the function that is called in order to add the new enum instance.
changeOrderEnumCallback - the function that is called to apply the change in the order.
changeOrderWithKeysEnumCallback - the function that is called to apply the change in the
order with keys.
- Returns:
- a list of 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.