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>Creates a request for creating new Standalone Prices or updating existing ones.</p> 018 * 019 * <hr> 020 * <div class=code-example> 021 * <pre><code class='java'>{@code 022 * CompletableFuture<ApiHttpResponse<com.commercetools.importapi.models.importrequests.ImportResponse>> result = apiRoot 023 * .withProjectKeyValue("{projectKey}") 024 * .standalonePrices() 025 * .importContainers() 026 * .withImportContainerKeyValue("{importContainerKey}") 027 * .post(null) 028 * .execute() 029 * }</code></pre> 030 * </div> 031 */ 032@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen") 033public class ByProjectKeyStandalonePricesImportContainersByImportContainerKeyPost extends 034 BodyApiMethod<ByProjectKeyStandalonePricesImportContainersByImportContainerKeyPost, com.commercetools.importapi.models.importrequests.ImportResponse, com.commercetools.importapi.models.importrequests.StandalonePriceImportRequest> 035 implements 036 com.commercetools.importapi.client.Secured_by_manage_standalone_pricesTrait<ByProjectKeyStandalonePricesImportContainersByImportContainerKeyPost> { 037 038 private String projectKey; 039 private String importContainerKey; 040 041 private com.commercetools.importapi.models.importrequests.StandalonePriceImportRequest standalonePriceImportRequest; 042 043 public ByProjectKeyStandalonePricesImportContainersByImportContainerKeyPost(final ApiHttpClient apiHttpClient, 044 String projectKey, String importContainerKey, 045 com.commercetools.importapi.models.importrequests.StandalonePriceImportRequest standalonePriceImportRequest) { 046 super(apiHttpClient); 047 this.projectKey = projectKey; 048 this.importContainerKey = importContainerKey; 049 this.standalonePriceImportRequest = standalonePriceImportRequest; 050 } 051 052 public ByProjectKeyStandalonePricesImportContainersByImportContainerKeyPost( 053 ByProjectKeyStandalonePricesImportContainersByImportContainerKeyPost 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 io.vrap.rmf.base.client.utils.json.JsonUtils.executing( 070 () -> apiHttpClient().getSerializerService().toJsonByteArray(standalonePriceImportRequest))); 071 072 } 073 074 @Override 075 public ApiHttpResponse<com.commercetools.importapi.models.importrequests.ImportResponse> executeBlocking( 076 final ApiHttpClient client, final Duration timeout) { 077 return executeBlocking(client, timeout, com.commercetools.importapi.models.importrequests.ImportResponse.class); 078 } 079 080 @Override 081 public CompletableFuture<ApiHttpResponse<com.commercetools.importapi.models.importrequests.ImportResponse>> execute( 082 final ApiHttpClient client) { 083 return execute(client, com.commercetools.importapi.models.importrequests.ImportResponse.class); 084 } 085 086 public String getProjectKey() { 087 return this.projectKey; 088 } 089 090 public String getImportContainerKey() { 091 return this.importContainerKey; 092 } 093 094 public void setProjectKey(final String projectKey) { 095 this.projectKey = projectKey; 096 } 097 098 public void setImportContainerKey(final String importContainerKey) { 099 this.importContainerKey = importContainerKey; 100 } 101 102 public com.commercetools.importapi.models.importrequests.StandalonePriceImportRequest getBody() { 103 return standalonePriceImportRequest; 104 } 105 106 public ByProjectKeyStandalonePricesImportContainersByImportContainerKeyPost withBody( 107 com.commercetools.importapi.models.importrequests.StandalonePriceImportRequest standalonePriceImportRequest) { 108 ByProjectKeyStandalonePricesImportContainersByImportContainerKeyPost t = copy(); 109 t.standalonePriceImportRequest = standalonePriceImportRequest; 110 return t; 111 } 112 113 @Override 114 public boolean equals(Object o) { 115 if (this == o) 116 return true; 117 118 if (o == null || getClass() != o.getClass()) 119 return false; 120 121 ByProjectKeyStandalonePricesImportContainersByImportContainerKeyPost that = (ByProjectKeyStandalonePricesImportContainersByImportContainerKeyPost) o; 122 123 return new EqualsBuilder().append(projectKey, that.projectKey) 124 .append(importContainerKey, that.importContainerKey) 125 .append(standalonePriceImportRequest, that.standalonePriceImportRequest) 126 .isEquals(); 127 } 128 129 @Override 130 public int hashCode() { 131 return new HashCodeBuilder(17, 37).append(projectKey) 132 .append(importContainerKey) 133 .append(standalonePriceImportRequest) 134 .toHashCode(); 135 } 136 137 @Override 138 protected ByProjectKeyStandalonePricesImportContainersByImportContainerKeyPost copy() { 139 return new ByProjectKeyStandalonePricesImportContainersByImportContainerKeyPost(this); 140 } 141}