Interface DirectDiscountDraft

All Superinterfaces:
Draft<DirectDiscountDraft>

public interface DirectDiscountDraft extends Draft<DirectDiscountDraft>

Represents a CartDiscount that can only be associated with a single Cart or Order.

For an introduction to Direct Discounts and to understand how they work, see the Direct Discounts overview.


Example to create an instance using the builder pattern

     DirectDiscountDraft directDiscountDraft = DirectDiscountDraft.builder()
             .value(valueBuilder -> valueBuilder)
             .build()
 
  • Method Details

    • getValue

      @NotNull @Valid @NotNull @Valid CartDiscountValueDraft getValue()

      Defines the effect the Discount will have.

      Returns:
      value
    • getTarget

      @Valid @Valid CartDiscountTarget getTarget()

      Defines what segment of the Cart will be discounted.

      If value is set to giftLineItem, this must not be set.

      Returns:
      target
    • getParticipateInBestDealSelection

      Boolean getParticipateInBestDealSelection()
      • If set to true, Direct Discounts compete against Product Discounts to apply the best deal.
      • If set to false, Direct Discounts are ignored when calculating the best deal comparison, and are applied on top of the discount type that offers the best deal.

      This applies only when the DiscountCombinationMode for the Project is BestDeal.

      Returns:
      participateInBestDealSelection
    • setValue

      void setValue(CartDiscountValueDraft value)

      Defines the effect the Discount will have.

      Parameters:
      value - value to be set
    • setTarget

      void setTarget(CartDiscountTarget target)

      Defines what segment of the Cart will be discounted.

      If value is set to giftLineItem, this must not be set.

      Parameters:
      target - value to be set
    • setParticipateInBestDealSelection

      void setParticipateInBestDealSelection(Boolean participateInBestDealSelection)
      • If set to true, Direct Discounts compete against Product Discounts to apply the best deal.
      • If set to false, Direct Discounts are ignored when calculating the best deal comparison, and are applied on top of the discount type that offers the best deal.

      This applies only when the DiscountCombinationMode for the Project is BestDeal.

      Parameters:
      participateInBestDealSelection - value to be set
    • of

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

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

    • deepCopy

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

      static DirectDiscountDraftBuilder builder()
      builder factory method for DirectDiscountDraft
      Returns:
      builder
    • builder

      create builder for DirectDiscountDraft instance
      Parameters:
      template - instance with prefilled values for the builder
      Returns:
      builder
    • withDirectDiscountDraft

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

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