Interface RecurringOrderDraft

All Superinterfaces:
Draft<RecurringOrderDraft>

public interface RecurringOrderDraft extends Draft<RecurringOrderDraft>

Recurring Orders are automatically assigned the Store and/or Business Unit from the associated Cart.


Example to create an instance using the builder pattern

     RecurringOrderDraft recurringOrderDraft = RecurringOrderDraft.builder()
             .cart(cartBuilder -> cartBuilder)
             .cartVersion(0.3)
             .startsAt(ZonedDateTime.parse("2022-01-01T12:00:00.301Z"))
             .build()
 
  • Method Details

    • getKey

      String getKey()

      User-defined unique identifier of the RecurringOrder.

      Returns:
      key
    • getCart

      @NotNull @Valid @NotNull @Valid CartResourceIdentifier getCart()

      ResourceIdentifier to the Cart from which the RecurringOrder is created.

      Returns:
      cart
    • getCartVersion

      @NotNull @NotNull Long getCartVersion()

      Current version of the referenced Cart.

      Returns:
      cartVersion
    • getStartsAt

      @NotNull @NotNull ZonedDateTime getStartsAt()

      Date and time (UTC) when the RecurringOrder will start.

      Returns:
      startsAt
    • getExpiresAt

      ZonedDateTime getExpiresAt()

      Date and time (UTC) when the RecurringOrder will expire.

      Returns:
      expiresAt
    • getState

      @Valid @Valid StateResourceIdentifier getState()

      State for the RecurringOrder in a custom workflow.

      Returns:
      state
    • getCustom

      @Valid @Valid CustomFieldsDraft getCustom()

      Custom Fields for the RecurringOrder.

      Returns:
      custom
    • setKey

      void setKey(String key)

      User-defined unique identifier of the RecurringOrder.

      Parameters:
      key - value to be set
    • setCart

      void setCart(CartResourceIdentifier cart)

      ResourceIdentifier to the Cart from which the RecurringOrder is created.

      Parameters:
      cart - value to be set
    • setCartVersion

      void setCartVersion(Long cartVersion)

      Current version of the referenced Cart.

      Parameters:
      cartVersion - value to be set
    • setStartsAt

      void setStartsAt(ZonedDateTime startsAt)

      Date and time (UTC) when the RecurringOrder will start.

      Parameters:
      startsAt - value to be set
    • setExpiresAt

      void setExpiresAt(ZonedDateTime expiresAt)

      Date and time (UTC) when the RecurringOrder will expire.

      Parameters:
      expiresAt - value to be set
    • setState

      void setState(StateResourceIdentifier state)

      State for the RecurringOrder in a custom workflow.

      Parameters:
      state - value to be set
    • setCustom

      void setCustom(CustomFieldsDraft custom)

      Custom Fields for the RecurringOrder.

      Parameters:
      custom - value to be set
    • of

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

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

    • deepCopy

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

      static RecurringOrderDraftBuilder builder()
      builder factory method for RecurringOrderDraft
      Returns:
      builder
    • builder

      create builder for RecurringOrderDraft instance
      Parameters:
      template - instance with prefilled values for the builder
      Returns:
      builder
    • withRecurringOrderDraft

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