com.commercetools.sync.services.StateService Maven / Gradle / Ivy
package com.commercetools.sync.services;
import com.commercetools.api.models.state.State;
import com.commercetools.api.models.state.StateDraft;
import com.commercetools.api.models.state.StateUpdateAction;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.concurrent.CompletionStage;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
public interface StateService {
/**
* Filters out the keys which are already cached and fetches only the not-cached state keys from
* the CTP project defined in an injected {@link com.commercetools.api.client.ProjectApiRoot} and
* stores a mapping for every state to id in the cached map of keys -> ids and returns this
* cached map.
*
* Note: If all the supplied keys are already cached, the cached map is returned right away
* with no request to CTP.
*
* @param keys the state keys to fetch and cache the ids for.
* @return {@link java.util.concurrent.CompletionStage}<{@link java.util.Map}> in which the
* result of it's completion contains a map of all state keys -> ids
*/
@Nonnull
CompletionStage
© 2015 - 2025 Weber Informatics LLC | Privacy Policy