Interface ExcludeProductChange

All Superinterfaces:
Change

public interface ExcludeProductChange extends Change

Change triggered by the Exclude Product update action.


Example to create an instance using the builder pattern

     ExcludeProductChange excludeProductChange = ExcludeProductChange.builder()
             .change("{change}")
             .variantExclusion(variantExclusionBuilder -> variantExclusionBuilder)
             .nextValue(nextValueBuilder -> nextValueBuilder)
             .build()
 
  • Field Details

    • EXCLUDE_PRODUCT_CHANGE

      static final String EXCLUDE_PRODUCT_CHANGE
      discriminator value for ExcludeProductChange
      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
    • getVariantExclusion

      @NotNull @Valid @NotNull @Valid ProductVariantExclusion getVariantExclusion()

      Only Product Variants with the explicitly listed SKUs are part of a Product Selection with IndividualExclusion ProductSelectionMode.

      Returns:
      variantExclusion
    • getNextValue

      @NotNull @Valid @NotNull @Valid Reference 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
    • setVariantExclusion

      void setVariantExclusion(ProductVariantExclusion variantExclusion)

      Only Product Variants with the explicitly listed SKUs are part of a Product Selection with IndividualExclusion ProductSelectionMode.

      Parameters:
      variantExclusion - value to be set
    • setNextValue

      void setNextValue(Reference nextValue)

      Value after the change.

      Parameters:
      nextValue - value to be set
    • of

      static ExcludeProductChange of()
      factory method
      Returns:
      instance of ExcludeProductChange
    • of

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

      Specified by:
      copyDeep in interface Change
    • deepCopy

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

      static ExcludeProductChangeBuilder builder()
      builder factory method for ExcludeProductChange
      Returns:
      builder
    • builder

      create builder for ExcludeProductChange instance
      Parameters:
      template - instance with prefilled values for the builder
      Returns:
      builder
    • withExcludeProductChange

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