Package com.commercetools.sync.services
Interface CartDiscountService
-
- All Known Implementing Classes:
CartDiscountServiceImpl
public 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 typeCartDiscountDraft, this method attempts to create a resourceCartDiscountbased 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 injectedProjectApiRoot.java.util.concurrent.CompletionStage<java.util.Set<com.commercetools.api.models.cart_discount.CartDiscount>>fetchMatchingCartDiscountsByKeys(java.util.Set<java.lang.String> keys)Given aSetof CartDiscount keys, this method fetches a set of all the CartDiscounts, matching this given set of keys in the CTP project, defined in an injectedProjectApiRoot.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 aCartDiscountand aList<CartDiscountUpdateAction>, this method issues an update request with these update actions on thisCartDiscountin the CTP project defined in a potentially injectedProjectApiRoot.
-
-
-
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 aSetof CartDiscount keys, this method fetches a set of all the CartDiscounts, matching this given set of keys in the CTP project, defined in an injectedProjectApiRoot. 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 aSetof 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 injectedProjectApiRoot. If there is no matching cart discount an emptyOptionalwill 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 anOptionalthat contains the matchingCartDiscountif 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 typeCartDiscountDraft, this method attempts to create a resourceCartDiscountbased on it in the CTP project defined by the sync options.A completion stage containing an empty
Optionaland 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
CompletionStagein which the result of it's completion contains an instanceOptionalof the created `CartDiscount`.- Parameters:
cartDiscountDraft- the resource draft to create a resource based off of.- Returns:
- a
CompletionStagecontaining an optional with the createdCartDiscountif 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 aCartDiscountand aList<CartDiscountUpdateAction>, this method issues an update request with these update actions on thisCartDiscountin the CTP project defined in a potentially injectedProjectApiRoot. This method returnsCompletionStage<CartDiscount> in which the result of its completion contains an instance of theCartDiscountwhich was updated in the CTP project.- Parameters:
cartDiscount- theCartDiscountto update.updateActions- the update actions to update theCartDiscountwith.- Returns:
CompletionStage<CartDiscount> containing as a result of its completion an instance of theCartDiscountwhich was updated in the CTP project or an exception.
-
-