001
002package com.commercetools.api.client;
003
004import java.util.function.UnaryOperator;
005
006import io.vrap.rmf.base.client.ApiHttpClient;
007import io.vrap.rmf.base.client.utils.Generated;
008
009@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen")
010public class ByProjectKeyMeCartsKeyByKeyRequestBuilder {
011
012    private final ApiHttpClient apiHttpClient;
013    private final String projectKey;
014    private final String key;
015
016    public ByProjectKeyMeCartsKeyByKeyRequestBuilder(final ApiHttpClient apiHttpClient, final String projectKey,
017            final String key) {
018        this.apiHttpClient = apiHttpClient;
019        this.projectKey = projectKey;
020        this.key = key;
021    }
022
023    public ByProjectKeyMeCartsKeyByKeyGet get() {
024        return new ByProjectKeyMeCartsKeyByKeyGet(apiHttpClient, projectKey, key);
025    }
026
027    public ByProjectKeyMeCartsKeyByKeyPost post(com.commercetools.api.models.me.MyCartUpdate myCartUpdate) {
028        return new ByProjectKeyMeCartsKeyByKeyPost(apiHttpClient, projectKey, key, myCartUpdate);
029    }
030
031    public ByProjectKeyMeCartsKeyByKeyPostString post(final String myCartUpdate) {
032        return new ByProjectKeyMeCartsKeyByKeyPostString(apiHttpClient, projectKey, key, myCartUpdate);
033    }
034
035    public ByProjectKeyMeCartsKeyByKeyPost post(UnaryOperator<com.commercetools.api.models.me.MyCartUpdateBuilder> op) {
036        return post(op.apply(com.commercetools.api.models.me.MyCartUpdateBuilder.of()).build());
037    }
038
039    public ByProjectKeyMeCartsKeyByKeyDelete delete() {
040        return new ByProjectKeyMeCartsKeyByKeyDelete(apiHttpClient, projectKey, key);
041    }
042
043    public <TValue> ByProjectKeyMeCartsKeyByKeyDelete delete(TValue version) {
044        return delete().withVersion(version);
045    }
046
047}