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 ByProjectKeyInStoreKeyByStoreKeyCustomersByIDRequestBuilder {
011
012    private final ApiHttpClient apiHttpClient;
013    private final String projectKey;
014    private final String storeKey;
015    private final String ID;
016
017    public ByProjectKeyInStoreKeyByStoreKeyCustomersByIDRequestBuilder(final ApiHttpClient apiHttpClient,
018            final String projectKey, final String storeKey, final String ID) {
019        this.apiHttpClient = apiHttpClient;
020        this.projectKey = projectKey;
021        this.storeKey = storeKey;
022        this.ID = ID;
023    }
024
025    public ByProjectKeyInStoreKeyByStoreKeyCustomersByIDGet get() {
026        return new ByProjectKeyInStoreKeyByStoreKeyCustomersByIDGet(apiHttpClient, projectKey, storeKey, ID);
027    }
028
029    public ByProjectKeyInStoreKeyByStoreKeyCustomersByIDPost post(
030            com.commercetools.api.models.customer.CustomerUpdate customerUpdate) {
031        return new ByProjectKeyInStoreKeyByStoreKeyCustomersByIDPost(apiHttpClient, projectKey, storeKey, ID,
032            customerUpdate);
033    }
034
035    public ByProjectKeyInStoreKeyByStoreKeyCustomersByIDPostString post(final String customerUpdate) {
036        return new ByProjectKeyInStoreKeyByStoreKeyCustomersByIDPostString(apiHttpClient, projectKey, storeKey, ID,
037            customerUpdate);
038    }
039
040    public ByProjectKeyInStoreKeyByStoreKeyCustomersByIDPost post(
041            UnaryOperator<com.commercetools.api.models.customer.CustomerUpdateBuilder> op) {
042        return post(op.apply(com.commercetools.api.models.customer.CustomerUpdateBuilder.of()).build());
043    }
044
045    public ByProjectKeyInStoreKeyByStoreKeyCustomersByIDDelete delete() {
046        return new ByProjectKeyInStoreKeyByStoreKeyCustomersByIDDelete(apiHttpClient, projectKey, storeKey, ID);
047    }
048
049    public <TValue> ByProjectKeyInStoreKeyByStoreKeyCustomersByIDDelete delete(TValue version) {
050        return delete().withVersion(version);
051    }
052
053}