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}