001 002package com.commercetools.importapi.client; 003 004import java.net.URI; 005import java.nio.charset.StandardCharsets; 006import java.time.Duration; 007import java.util.ArrayList; 008import java.util.List; 009import java.util.concurrent.CompletableFuture; 010 011import io.vrap.rmf.base.client.*; 012import io.vrap.rmf.base.client.utils.Generated; 013 014import org.apache.commons.lang3.builder.EqualsBuilder; 015import org.apache.commons.lang3.builder.HashCodeBuilder; 016 017/** 018 * <p>Creates a request for creating new Standalone Prices or updating existing ones.</p> 019 * 020 * <hr> 021 * <div class=code-example> 022 * <pre><code class='java'>{@code 023 * CompletableFuture<ApiHttpResponse<com.commercetools.importapi.models.importrequests.ImportResponse>> result = apiRoot 024 * .withProjectKeyValue("{projectKey}") 025 * .standalonePrices() 026 * .importContainers() 027 * .withImportContainerKeyValue("{importContainerKey}") 028 * .post("") 029 * .execute() 030 * }</code></pre> 031 * </div> 032 */ 033@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen") 034public class ByProjectKeyStandalonePricesImportContainersByImportContainerKeyPostString extends 035 StringBodyApiMethod<ByProjectKeyStandalonePricesImportContainersByImportContainerKeyPostString, com.commercetools.importapi.models.importrequests.ImportResponse> 036 implements 037 com.commercetools.importapi.client.Secured_by_manage_standalone_pricesTrait<ByProjectKeyStandalonePricesImportContainersByImportContainerKeyPostString> { 038 039 private String projectKey; 040 private String importContainerKey; 041 042 private String standalonePriceImportRequest; 043 044 public ByProjectKeyStandalonePricesImportContainersByImportContainerKeyPostString(final ApiHttpClient apiHttpClient, 045 String projectKey, String importContainerKey, String standalonePriceImportRequest) { 046 super(apiHttpClient); 047 this.projectKey = projectKey; 048 this.importContainerKey = importContainerKey; 049 this.standalonePriceImportRequest = standalonePriceImportRequest; 050 } 051 052 public ByProjectKeyStandalonePricesImportContainersByImportContainerKeyPostString( 053 ByProjectKeyStandalonePricesImportContainersByImportContainerKeyPostString t) { 054 super(t); 055 this.projectKey = t.projectKey; 056 this.importContainerKey = t.importContainerKey; 057 this.standalonePriceImportRequest = t.standalonePriceImportRequest; 058 } 059 060 @Override 061 protected ApiHttpRequest buildHttpRequest() { 062 List<String> params = new ArrayList<>(getQueryParamUriStrings()); 063 String httpRequestPath = String.format("%s/standalone-prices/import-containers/%s", this.projectKey, 064 this.importContainerKey); 065 if (!params.isEmpty()) { 066 httpRequestPath += "?" + String.join("&", params); 067 } 068 return new ApiHttpRequest(ApiHttpMethod.POST, URI.create(httpRequestPath), getHeaders(), 069 standalonePriceImportRequest.getBytes(StandardCharsets.UTF_8)); 070 071 } 072 073 @Override 074 public ApiHttpResponse<com.commercetools.importapi.models.importrequests.ImportResponse> executeBlocking( 075 final ApiHttpClient client, final Duration timeout) { 076 return executeBlocking(client, timeout, com.commercetools.importapi.models.importrequests.ImportResponse.class); 077 } 078 079 @Override 080 public CompletableFuture<ApiHttpResponse<com.commercetools.importapi.models.importrequests.ImportResponse>> execute( 081 final ApiHttpClient client) { 082 return execute(client, com.commercetools.importapi.models.importrequests.ImportResponse.class); 083 } 084 085 public String getProjectKey() { 086 return this.projectKey; 087 } 088 089 public String getImportContainerKey() { 090 return this.importContainerKey; 091 } 092 093 public void setProjectKey(final String projectKey) { 094 this.projectKey = projectKey; 095 } 096 097 public void setImportContainerKey(final String importContainerKey) { 098 this.importContainerKey = importContainerKey; 099 } 100 101 public String getBody() { 102 return standalonePriceImportRequest; 103 } 104 105 public ByProjectKeyStandalonePricesImportContainersByImportContainerKeyPostString withBody( 106 String standalonePriceImportRequest) { 107 ByProjectKeyStandalonePricesImportContainersByImportContainerKeyPostString t = copy(); 108 t.standalonePriceImportRequest = standalonePriceImportRequest; 109 return t; 110 } 111 112 @Override 113 public boolean equals(Object o) { 114 if (this == o) 115 return true; 116 117 if (o == null || getClass() != o.getClass()) 118 return false; 119 120 ByProjectKeyStandalonePricesImportContainersByImportContainerKeyPostString that = (ByProjectKeyStandalonePricesImportContainersByImportContainerKeyPostString) o; 121 122 return new EqualsBuilder().append(projectKey, that.projectKey) 123 .append(importContainerKey, that.importContainerKey) 124 .append(standalonePriceImportRequest, that.standalonePriceImportRequest) 125 .isEquals(); 126 } 127 128 @Override 129 public int hashCode() { 130 return new HashCodeBuilder(17, 37).append(projectKey) 131 .append(importContainerKey) 132 .append(standalonePriceImportRequest) 133 .toHashCode(); 134 } 135 136 @Override 137 protected ByProjectKeyStandalonePricesImportContainersByImportContainerKeyPostString copy() { 138 return new ByProjectKeyStandalonePricesImportContainersByImportContainerKeyPostString(this); 139 } 140}