Interface CartDiscountService

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      java.util.concurrent.CompletionStage<java.util.Optional<com.commercetools.api.models.cart_discount.CartDiscount>> createCartDiscount​(com.commercetools.api.models.cart_discount.CartDiscountDraft cartDiscountDraft)
      Given a resource draft of type CartDiscountDraft, this method attempts to create a resource CartDiscount based on it in the CTP project defined by the sync options.
      java.util.concurrent.CompletionStage<java.util.Optional<com.commercetools.api.models.cart_discount.CartDiscount>> fetchCartDiscount​(java.lang.String key)
      Given a cart discount key, this method fetches a cart discount that matches this given key in the CTP project defined in a potentially injected ProjectApiRoot.
      java.util.concurrent.CompletionStage<java.util.Set<com.commercetools.api.models.cart_discount.CartDiscount>> fetchMatchingCartDiscountsByKeys​(java.util.Set<java.lang.String> keys)
      Given a Set of CartDiscount keys, this method fetches a set of all the CartDiscounts, matching this given set of keys in the CTP project, defined in an injected ProjectApiRoot.
      java.util.concurrent.CompletionStage<com.commercetools.api.models.cart_discount.CartDiscount> updateCartDiscount​(com.commercetools.api.models.cart_discount.CartDiscount cartDiscount, java.util.List<com.commercetools.api.models.cart_discount.CartDiscountUpdateAction> updateActions)
      Given a CartDiscount and a List<CartDiscountUpdateAction>, this method issues an update request with these update actions on this CartDiscount in the CTP project defined in a potentially injected ProjectApiRoot.
    • Method Detail

      • fetchMatchingCartDiscountsByKeys

        @Nonnull
        java.util.concurrent.CompletionStage<java.util.Set<com.commercetools.api.models.cart_discount.CartDiscount>> fetchMatchingCartDiscountsByKeys​(@Nonnull
                                                                                                                                                      java.util.Set<java.lang.String> keys)
        Given a Set of CartDiscount keys, this method fetches a set of all the CartDiscounts, matching this given set of keys in the CTP project, defined in an injected ProjectApiRoot. A mapping of the key to the id of the fetched CartDiscount is persisted in an in-memory map.
        Parameters:
        keys - set of CartDiscounts keys to fetch matching CartDiscount by.
        Returns:
        CompletionStage<Set> in which the result of its completion contains a Set of all matching CartDiscounts.
      • fetchCartDiscount

        @Nonnull
        java.util.concurrent.CompletionStage<java.util.Optional<com.commercetools.api.models.cart_discount.CartDiscount>> fetchCartDiscount​(@Nullable
                                                                                                                                            java.lang.String key)
        Given a cart discount key, this method fetches a cart discount that matches this given key in the CTP project defined in a potentially injected ProjectApiRoot. If there is no matching cart discount an empty Optional will be returned in the returned future. A mapping of the key to the id of the fetched cart discount is persisted in an in-memory map.
        Parameters:
        key - the key of the product to fetch.
        Returns:
        CompletionStage<Optional> in which the result of it's completion contains an Optional that contains the matching CartDiscount if exists, otherwise empty.
      • createCartDiscount

        @Nonnull
        java.util.concurrent.CompletionStage<java.util.Optional<com.commercetools.api.models.cart_discount.CartDiscount>> createCartDiscount​(@Nonnull
                                                                                                                                             com.commercetools.api.models.cart_discount.CartDiscountDraft cartDiscountDraft)
        Given a resource draft of type CartDiscountDraft, this method attempts to create a resource CartDiscount based on it in the CTP project defined by the sync options.

        A completion stage containing an empty Optional and the error callback will be triggered in those cases:

        • the draft has a blank key
        • the create request fails on CTP

        On the other hand, if the CartDiscount gets created successfully on CTP, then the created CartDiscount's id and key are cached. The method returns a CompletionStage in which the result of it's completion contains an instance Optional of the created `CartDiscount`.

        Parameters:
        cartDiscountDraft - the resource draft to create a resource based off of.
        Returns:
        a CompletionStage containing an optional with the created CartDiscount if successful otherwise an empty optional.
      • updateCartDiscount

        @Nonnull
        java.util.concurrent.CompletionStage<com.commercetools.api.models.cart_discount.CartDiscount> updateCartDiscount​(@Nonnull
                                                                                                                         com.commercetools.api.models.cart_discount.CartDiscount cartDiscount,
                                                                                                                         @Nonnull
                                                                                                                         java.util.List<com.commercetools.api.models.cart_discount.CartDiscountUpdateAction> updateActions)
        Given a CartDiscount and a List<CartDiscountUpdateAction>, this method issues an update request with these update actions on this CartDiscount in the CTP project defined in a potentially injected ProjectApiRoot. This method returns CompletionStage<CartDiscount> in which the result of its completion contains an instance of the CartDiscount which was updated in the CTP project.
        Parameters:
        cartDiscount - the CartDiscount to update.
        updateActions - the update actions to update the CartDiscount with.
        Returns:
        CompletionStage<CartDiscount> containing as a result of its completion an instance of the CartDiscount which was updated in the CTP project or an exception.