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 ByProjectKeyProductTypesRequestBuilder implements ByProjectKeyProductTypesRequestBuilderMixin {
011
012    private final ApiHttpClient apiHttpClient;
013    private final String projectKey;
014
015    public ByProjectKeyProductTypesRequestBuilder(final ApiHttpClient apiHttpClient, final String projectKey) {
016        this.apiHttpClient = apiHttpClient;
017        this.projectKey = projectKey;
018    }
019
020    public ByProjectKeyProductTypesGet get() {
021        return new ByProjectKeyProductTypesGet(apiHttpClient, projectKey);
022    }
023
024    public ByProjectKeyProductTypesHead head() {
025        return new ByProjectKeyProductTypesHead(apiHttpClient, projectKey);
026    }
027
028    public ByProjectKeyProductTypesPost post(
029            com.commercetools.api.models.product_type.ProductTypeDraft productTypeDraft) {
030        return new ByProjectKeyProductTypesPost(apiHttpClient, projectKey, productTypeDraft);
031    }
032
033    public ByProjectKeyProductTypesPostString post(final String productTypeDraft) {
034        return new ByProjectKeyProductTypesPostString(apiHttpClient, projectKey, productTypeDraft);
035    }
036
037    public ByProjectKeyProductTypesPost post(
038            UnaryOperator<com.commercetools.api.models.product_type.ProductTypeDraftBuilder> op) {
039        return post(op.apply(com.commercetools.api.models.product_type.ProductTypeDraftBuilder.of()).build());
040    }
041
042    public ByProjectKeyProductTypesKeyByKeyRequestBuilder withKey(String key) {
043        return new ByProjectKeyProductTypesKeyByKeyRequestBuilder(apiHttpClient, projectKey, key);
044    }
045
046    public ByProjectKeyProductTypesByIDRequestBuilder withId(String ID) {
047        return new ByProjectKeyProductTypesByIDRequestBuilder(apiHttpClient, projectKey, ID);
048    }
049
050}