001
002package com.commercetools.importapi.client;
003
004import java.net.URI;
005import java.time.Duration;
006import java.util.ArrayList;
007import java.util.List;
008import java.util.concurrent.CompletableFuture;
009
010import io.vrap.rmf.base.client.*;
011import io.vrap.rmf.base.client.utils.Generated;
012
013import org.apache.commons.lang3.builder.EqualsBuilder;
014import org.apache.commons.lang3.builder.HashCodeBuilder;
015
016/**
017 *  <p>Deletes the import container given by the key.</p>
018 *
019 * <hr>
020 * <div class=code-example>
021 * <pre><code class='java'>{@code
022 *   CompletableFuture<ApiHttpResponse<com.commercetools.importapi.models.importcontainers.ImportContainer>> result = apiRoot
023 *            .withProjectKeyValue("{projectKey}")
024 *            .importContainers()
025 *            .withImportContainerKeyValue("{importContainerKey}")
026 *            .delete()
027 *            .execute()
028 * }</code></pre>
029 * </div>
030 */
031@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen")
032public class ByProjectKeyImportContainersByImportContainerKeyDelete extends
033        ApiMethod<ByProjectKeyImportContainersByImportContainerKeyDelete, com.commercetools.importapi.models.importcontainers.ImportContainer>
034        implements
035        com.commercetools.importapi.client.Secured_by_manage_import_containersTrait<ByProjectKeyImportContainersByImportContainerKeyDelete> {
036
037    private String projectKey;
038    private String importContainerKey;
039
040    public ByProjectKeyImportContainersByImportContainerKeyDelete(final ApiHttpClient apiHttpClient, String projectKey,
041            String importContainerKey) {
042        super(apiHttpClient);
043        this.projectKey = projectKey;
044        this.importContainerKey = importContainerKey;
045    }
046
047    public ByProjectKeyImportContainersByImportContainerKeyDelete(
048            ByProjectKeyImportContainersByImportContainerKeyDelete t) {
049        super(t);
050        this.projectKey = t.projectKey;
051        this.importContainerKey = t.importContainerKey;
052    }
053
054    @Override
055    protected ApiHttpRequest buildHttpRequest() {
056        List<String> params = new ArrayList<>(getQueryParamUriStrings());
057        String httpRequestPath = String.format("%s/import-containers/%s", this.projectKey, this.importContainerKey);
058        if (!params.isEmpty()) {
059            httpRequestPath += "?" + String.join("&", params);
060        }
061        return new ApiHttpRequest(ApiHttpMethod.DELETE, URI.create(httpRequestPath), getHeaders(), null);
062    }
063
064    @Override
065    public ApiHttpResponse<com.commercetools.importapi.models.importcontainers.ImportContainer> executeBlocking(
066            final ApiHttpClient client, final Duration timeout) {
067        return executeBlocking(client, timeout,
068            com.commercetools.importapi.models.importcontainers.ImportContainer.class);
069    }
070
071    @Override
072    public CompletableFuture<ApiHttpResponse<com.commercetools.importapi.models.importcontainers.ImportContainer>> execute(
073            final ApiHttpClient client) {
074        return execute(client, com.commercetools.importapi.models.importcontainers.ImportContainer.class);
075    }
076
077    public String getProjectKey() {
078        return this.projectKey;
079    }
080
081    public String getImportContainerKey() {
082        return this.importContainerKey;
083    }
084
085    public void setProjectKey(final String projectKey) {
086        this.projectKey = projectKey;
087    }
088
089    public void setImportContainerKey(final String importContainerKey) {
090        this.importContainerKey = importContainerKey;
091    }
092
093    @Override
094    public boolean equals(Object o) {
095        if (this == o)
096            return true;
097
098        if (o == null || getClass() != o.getClass())
099            return false;
100
101        ByProjectKeyImportContainersByImportContainerKeyDelete that = (ByProjectKeyImportContainersByImportContainerKeyDelete) o;
102
103        return new EqualsBuilder().append(projectKey, that.projectKey)
104                .append(importContainerKey, that.importContainerKey)
105                .isEquals();
106    }
107
108    @Override
109    public int hashCode() {
110        return new HashCodeBuilder(17, 37).append(projectKey).append(importContainerKey).toHashCode();
111    }
112
113    @Override
114    protected ByProjectKeyImportContainersByImportContainerKeyDelete copy() {
115        return new ByProjectKeyImportContainersByImportContainerKeyDelete(this);
116    }
117}