Class CartDiscountServiceImpl

    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected com.github.benmanes.caffeine.cache.Cache<java.lang.String,​java.lang.String> keyToIdCache  
      protected static int MAXIMUM_ALLOWED_UPDATE_ACTIONS  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.concurrent.CompletionStage<java.util.Optional<io.sphere.sdk.cartdiscounts.CartDiscount>> createCartDiscount​(io.sphere.sdk.cartdiscounts.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<io.sphere.sdk.cartdiscounts.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 SphereClient.
      java.util.concurrent.CompletionStage<java.util.Set<io.sphere.sdk.cartdiscounts.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 SphereClient.
      java.util.concurrent.CompletionStage<io.sphere.sdk.cartdiscounts.CartDiscount> updateCartDiscount​(io.sphere.sdk.cartdiscounts.CartDiscount cartDiscount, java.util.List<io.sphere.sdk.commands.UpdateAction<io.sphere.sdk.cartdiscounts.CartDiscount>> updateActions)
      Given a CartDiscount and a List<UpdateAction<CartDiscount>>, this method issues an update request with these update actions on this CartDiscount in the CTP project defined in a potentially injected SphereClient.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • keyToIdCache

        protected final com.github.benmanes.caffeine.cache.Cache<java.lang.String,​java.lang.String> keyToIdCache
      • MAXIMUM_ALLOWED_UPDATE_ACTIONS

        protected static final int MAXIMUM_ALLOWED_UPDATE_ACTIONS
        See Also:
        Constant Field Values
    • Constructor Detail

    • Method Detail

      • fetchMatchingCartDiscountsByKeys

        @Nonnull
        public java.util.concurrent.CompletionStage<java.util.Set<io.sphere.sdk.cartdiscounts.CartDiscount>> fetchMatchingCartDiscountsByKeys​(@Nonnull
                                                                                                                                              java.util.Set<java.lang.String> keys)
        Description copied from interface: CartDiscountService
        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 SphereClient. A mapping of the key to the id of the fetched CartDiscount is persisted in an in-memory map.
        Specified by:
        fetchMatchingCartDiscountsByKeys in interface CartDiscountService
        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
        public java.util.concurrent.CompletionStage<java.util.Optional<io.sphere.sdk.cartdiscounts.CartDiscount>> fetchCartDiscount​(@Nullable
                                                                                                                                    java.lang.String key)
        Description copied from interface: CartDiscountService
        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 SphereClient. 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.
        Specified by:
        fetchCartDiscount in interface CartDiscountService
        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
        public java.util.concurrent.CompletionStage<java.util.Optional<io.sphere.sdk.cartdiscounts.CartDiscount>> createCartDiscount​(@Nonnull
                                                                                                                                     io.sphere.sdk.cartdiscounts.CartDiscountDraft cartDiscountDraft)
        Description copied from interface: CartDiscountService
        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`.

        Specified by:
        createCartDiscount in interface CartDiscountService
        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
        public java.util.concurrent.CompletionStage<io.sphere.sdk.cartdiscounts.CartDiscount> updateCartDiscount​(@Nonnull
                                                                                                                 io.sphere.sdk.cartdiscounts.CartDiscount cartDiscount,
                                                                                                                 @Nonnull
                                                                                                                 java.util.List<io.sphere.sdk.commands.UpdateAction<io.sphere.sdk.cartdiscounts.CartDiscount>> updateActions)
        Description copied from interface: CartDiscountService
        Given a CartDiscount and a List<UpdateAction<CartDiscount>>, this method issues an update request with these update actions on this CartDiscount in the CTP project defined in a potentially injected SphereClient. 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.
        Specified by:
        updateCartDiscount in interface CartDiscountService
        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 a SphereException.