Interface ProductPriceChangedMessage

All Superinterfaces:
BaseResource, DomainResource<Message>, Identifiable<Message>, Message, Versioned<Message>

public interface ProductPriceChangedMessage extends Message

Generated after a successful Change Price update action.


Example to create an instance using the builder pattern

     ProductPriceChangedMessage productPriceChangedMessage = ProductPriceChangedMessage.builder()
             .id("{id}")
             .version(0.3)
             .createdAt(ZonedDateTime.parse("2022-01-01T12:00:00.301Z"))
             .lastModifiedAt(ZonedDateTime.parse("2022-01-01T12:00:00.301Z"))
             .sequenceNumber(0.3)
             .resource(resourceBuilder -> resourceBuilder)
             .resourceVersion(0.3)
             .variantId(0.3)
             .oldPrice(oldPriceBuilder -> oldPriceBuilder)
             .newPrice(newPriceBuilder -> newPriceBuilder)
             .staged(true)
             .build()
 
  • Field Details

    • PRODUCT_PRICE_CHANGED

      static final String PRODUCT_PRICE_CHANGED
      discriminator value for ProductPriceChangedMessage
      See Also:
  • Method Details

    • getVariantId

      @NotNull @NotNull Long getVariantId()

      Unique identifier of the ProductVariant for which the Price was changed.

      Returns:
      variantId
    • getOldPrice

      @NotNull @Valid @NotNull @Valid Price getOldPrice()

      The current Embedded Price before the Change Embedded Price update action.

      Returns:
      oldPrice
    • getNewPrice

      @NotNull @Valid @NotNull @Valid Price getNewPrice()

      The Embedded Price after the Change Embedded Price update action.

      Returns:
      newPrice
    • getStaged

      @NotNull @NotNull Boolean getStaged()

      Whether the update was only applied to the staged Product Projection.

      Returns:
      staged
    • getOldStagedPrice

      @Valid @Valid Price getOldStagedPrice()

      The staged Embedded Price before the Change Embedded Price update action.

      Returns:
      oldStagedPrice
    • setVariantId

      void setVariantId(Long variantId)

      Unique identifier of the ProductVariant for which the Price was changed.

      Parameters:
      variantId - value to be set
    • setOldPrice

      void setOldPrice(Price oldPrice)

      The current Embedded Price before the Change Embedded Price update action.

      Parameters:
      oldPrice - value to be set
    • setNewPrice

      void setNewPrice(Price newPrice)

      The Embedded Price after the Change Embedded Price update action.

      Parameters:
      newPrice - value to be set
    • setStaged

      void setStaged(Boolean staged)

      Whether the update was only applied to the staged Product Projection.

      Parameters:
      staged - value to be set
    • setOldStagedPrice

      void setOldStagedPrice(Price oldStagedPrice)

      The staged Embedded Price before the Change Embedded Price update action.

      Parameters:
      oldStagedPrice - value to be set
    • of

      factory method
      Returns:
      instance of ProductPriceChangedMessage
    • of

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

      factory method to create a deep copy of ProductPriceChangedMessage
      Parameters:
      template - instance to be copied
      Returns:
      copy instance
    • builder

      builder factory method for ProductPriceChangedMessage
      Returns:
      builder
    • builder

      create builder for ProductPriceChangedMessage instance
      Parameters:
      template - instance with prefilled values for the builder
      Returns:
      builder
    • withProductPriceChangedMessage

      default <T> T withProductPriceChangedMessage(Function<ProductPriceChangedMessage,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<ProductPriceChangedMessage> typeReference()
      gives a TypeReference for usage with Jackson DataBind
      Returns:
      TypeReference