public interface CustomerService
Modifier and Type | Method and Description |
---|---|
java.util.concurrent.CompletionStage<java.util.Map<java.lang.String,java.lang.String>> |
cacheKeysToIds(java.util.Set<java.lang.String> keysToCache)
Given a set of keys this method caches in-memory a mapping of key -> id only for those keys
which are not already cached.
|
java.util.concurrent.CompletionStage<java.util.Optional<io.sphere.sdk.customers.Customer>> |
createCustomer(io.sphere.sdk.customers.CustomerDraft customerDraft)
Given a resource draft of type
CustomerDraft , this method attempts to create a resource
Customer based on the draft, in the CTP project defined by the sync options. |
java.util.concurrent.CompletionStage<java.util.Optional<java.lang.String>> |
fetchCachedCustomerId(java.lang.String key)
Given a
key , if it is blank (null/empty), a completed future with an empty optional is
returned. |
java.util.concurrent.CompletionStage<java.util.Optional<io.sphere.sdk.customers.Customer>> |
fetchCustomerByKey(java.lang.String key)
Given a customer key, this method fetches a customer 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.customers.Customer>> |
fetchMatchingCustomersByKeys(java.util.Set<java.lang.String> customerKeys)
Given a
Set of customer keys, this method fetches a set of all the customers, matching
the given set of keys in the CTP project, defined in an injected SphereClient . |
java.util.concurrent.CompletionStage<io.sphere.sdk.customers.Customer> |
updateCustomer(io.sphere.sdk.customers.Customer customer,
java.util.List<io.sphere.sdk.commands.UpdateAction<io.sphere.sdk.customers.Customer>> updateActions)
Given a
Customer and a List <UpdateAction <Customer >>, this method issues an update request with these update actions on this
Customer in the CTP project defined in a potentially injected SphereClient . |
@Nonnull java.util.concurrent.CompletionStage<java.util.Map<java.lang.String,java.lang.String>> cacheKeysToIds(@Nonnull java.util.Set<java.lang.String> keysToCache)
keysToCache
- a set of keys to cache.@Nonnull java.util.concurrent.CompletionStage<java.util.Set<io.sphere.sdk.customers.Customer>> fetchMatchingCustomersByKeys(@Nonnull java.util.Set<java.lang.String> customerKeys)
Set
of customer keys, this method fetches a set of all the customers, matching
the given set of keys in the CTP project, defined in an injected SphereClient
. A
mapping of the key to the id of the fetched customers is persisted in an in-memory map.customerKeys
- set of customer keys to fetch matching resources by.CompletionStage
<Set
<Customer
>> in which the result
of it's completion contains a Set
of all matching customers.@Nonnull java.util.concurrent.CompletionStage<java.util.Optional<io.sphere.sdk.customers.Customer>> fetchCustomerByKey(@Nullable java.lang.String key)
SphereClient
. If there is no matching
resource an empty Optional
will be returned in the returned future. A mapping of the
key to the id of the fetched customer is persisted in an in -memory map.key
- the key of the resource to fetchCompletionStage
<Optional
> in which the result of it's completion
contains an Optional
that contains the matching Customer
if exists,
otherwise empty.@Nonnull java.util.concurrent.CompletionStage<java.util.Optional<java.lang.String>> fetchCachedCustomerId(@Nonnull java.lang.String key)
key
, if it is blank (null/empty), a completed future with an empty optional is
returned. Otherwise this method checks if the cached map of resource keys -> ids contains
the given key. If it does, an optional containing the matching id is returned. If the cache
doesn't contain the key; this method attempts to fetch the id of the key from the CTP project,
caches it and returns a CompletionStage
< Optional
<String
>>
in which the result of it's completion could contain an Optional
holding the id or an
empty Optional
if no customer was found in the CTP project with this key.key
- the key by which a customer id should be fetched from the CTP project.CompletionStage
<Optional
<String
>> in which the
result of it's completion could contain an Optional
holding the id or an empty
Optional
if no customer was found in the CTP project with this key.@Nonnull java.util.concurrent.CompletionStage<java.util.Optional<io.sphere.sdk.customers.Customer>> createCustomer(@Nonnull io.sphere.sdk.customers.CustomerDraft customerDraft)
CustomerDraft
, this method attempts to create a resource
Customer
based on the draft, in the CTP project defined by the sync options.
A completion stage containing an empty option and the error callback will be triggered in those cases:
On the other hand, if the resource gets created successfully on CTP, the created resource's
id and key are cached and the method returns a CompletionStage
in which the result of
it's completion contains an instance Optional
of the resource which was created.
customerDraft
- the resource draft to create a resource based off of.CompletionStage
containing an optional with the created resource if
successful otherwise an empty optional.@Nonnull java.util.concurrent.CompletionStage<io.sphere.sdk.customers.Customer> updateCustomer(@Nonnull io.sphere.sdk.customers.Customer customer, @Nonnull java.util.List<io.sphere.sdk.commands.UpdateAction<io.sphere.sdk.customers.Customer>> updateActions)
Customer
and a List
<UpdateAction
<Customer
>>, this method issues an update request with these update actions on this
Customer
in the CTP project defined in a potentially injected SphereClient
.
This method returns CompletionStage
<Customer
> in which the result of it's
completion contains an instance of the Customer
which was updated in the CTP project.customer
- the Customer
to update.updateActions
- the update actions to update the Customer
with.CompletionStage
<Customer
> containing as a result of it's
completion an instance of the Customer
which was updated in the CTP project or a
SphereException
.