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 ByProjectKeyTaxCategoriesKeyByKeyRequestBuilder {
011
012    private final ApiHttpClient apiHttpClient;
013    private final String projectKey;
014    private final String key;
015
016    public ByProjectKeyTaxCategoriesKeyByKeyRequestBuilder(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 ByProjectKeyTaxCategoriesKeyByKeyGet get() {
024        return new ByProjectKeyTaxCategoriesKeyByKeyGet(apiHttpClient, projectKey, key);
025    }
026
027    public ByProjectKeyTaxCategoriesKeyByKeyPost post(
028            com.commercetools.api.models.tax_category.TaxCategoryUpdate taxCategoryUpdate) {
029        return new ByProjectKeyTaxCategoriesKeyByKeyPost(apiHttpClient, projectKey, key, taxCategoryUpdate);
030    }
031
032    public ByProjectKeyTaxCategoriesKeyByKeyPostString post(final String taxCategoryUpdate) {
033        return new ByProjectKeyTaxCategoriesKeyByKeyPostString(apiHttpClient, projectKey, key, taxCategoryUpdate);
034    }
035
036    public ByProjectKeyTaxCategoriesKeyByKeyPost post(
037            UnaryOperator<com.commercetools.api.models.tax_category.TaxCategoryUpdateBuilder> op) {
038        return post(op.apply(com.commercetools.api.models.tax_category.TaxCategoryUpdateBuilder.of()).build());
039    }
040
041    public ByProjectKeyTaxCategoriesKeyByKeyDelete delete() {
042        return new ByProjectKeyTaxCategoriesKeyByKeyDelete(apiHttpClient, projectKey, key);
043    }
044
045    public <TValue> ByProjectKeyTaxCategoriesKeyByKeyDelete delete(TValue version) {
046        return delete().withVersion(version);
047    }
048
049}