Interface SetProductAttributeChange

All Superinterfaces:
Change

public interface SetProductAttributeChange extends Change

Change triggered by the Set Product Attribute update action.


Example to create an instance using the builder pattern

     SetProductAttributeChange setProductAttributeChange = SetProductAttributeChange.builder()
             .change("{change}")
             .catalogData("{catalogData}")
             .previousValue(previousValueBuilder -> previousValueBuilder)
             .nextValue(nextValueBuilder -> nextValueBuilder)
             .build()
 
  • Field Details

    • SET_PRODUCT_ATTRIBUTE_CHANGE

      static final String SET_PRODUCT_ATTRIBUTE_CHANGE
      discriminator value for SetProductAttributeChange
      See Also:
  • Method Details

    • getChange

      @NotNull @NotNull String getChange()
      Description copied from interface: Change

      Type of change on a resource that is similar to the update action it relates to, where possible. It is not a unique identifier for the data structure, for example, the setDescription change can occur with a localized and non-localized representation.

      Records can be filtered by this value using the changes query parameter.

      Specified by:
      getChange in interface Change
      Returns:
      change
    • getType

      @NotNull @NotNull String getType()
      Description copied from interface: Change

      Unique discriminator value to reliably deserialize the data type.

      Specified by:
      getType in interface Change
      Returns:
      type
    • getCatalogData

      @NotNull @NotNull String getCatalogData()

      Product data that was updated.

      Returns:
      catalogData
    • getPreviousValue

      @NotNull @Valid @NotNull @Valid Attribute getPreviousValue()

      Value before the change.

      Returns:
      previousValue
    • getNextValue

      @NotNull @Valid @NotNull @Valid Attribute getNextValue()

      Value after the change.

      Returns:
      nextValue
    • setChange

      void setChange(String change)
      set change
      Specified by:
      setChange in interface Change
      Parameters:
      change - value to be set
    • setCatalogData

      void setCatalogData(String catalogData)

      Product data that was updated.

      Parameters:
      catalogData - value to be set
    • setPreviousValue

      void setPreviousValue(Attribute previousValue)

      Value before the change.

      Parameters:
      previousValue - value to be set
    • setNextValue

      void setNextValue(Attribute nextValue)

      Value after the change.

      Parameters:
      nextValue - value to be set
    • of

      factory method
      Returns:
      instance of SetProductAttributeChange
    • of

      factory method to create a shallow copy SetProductAttributeChange
      Parameters:
      template - instance to be copied
      Returns:
      copy instance
    • copyDeep

      Specified by:
      copyDeep in interface Change
    • deepCopy

      @Nullable static SetProductAttributeChange deepCopy(@Nullable SetProductAttributeChange template)
      factory method to create a deep copy of SetProductAttributeChange
      Parameters:
      template - instance to be copied
      Returns:
      copy instance
    • builder

      builder factory method for SetProductAttributeChange
      Returns:
      builder
    • builder

      create builder for SetProductAttributeChange instance
      Parameters:
      template - instance with prefilled values for the builder
      Returns:
      builder
    • withSetProductAttributeChange

      default <T> T withSetProductAttributeChange(Function<SetProductAttributeChange,T> helper)
      accessor map function
      Type Parameters:
      T - mapped type
      Parameters:
      helper - function to map the object
      Returns:
      mapped value
    • typeReference

      static com.fasterxml.jackson.core.type.TypeReference<SetProductAttributeChange> typeReference()
      gives a TypeReference for usage with Jackson DataBind
      Returns:
      TypeReference