001 002package com.commercetools.ml.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 * 018 * 019 * <hr> 020 * <div class=code-example> 021 * <pre><code class='java'>{@code 022 * CompletableFuture<ApiHttpResponse<com.commercetools.ml.models.similar_products.SimilarProductsTaskStatus>> result = apiRoot 023 * .withProjectKey("{projectKey}") 024 * .similarities() 025 * .products() 026 * .status() 027 * .withTaskId("{taskId}") 028 * .get() 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 ByProjectKeySimilaritiesProductsStatusByTaskIdGet extends 035 ApiMethod<ByProjectKeySimilaritiesProductsStatusByTaskIdGet, com.commercetools.ml.models.similar_products.SimilarProductsTaskStatus> { 036 037 private String projectKey; 038 private String taskId; 039 040 public ByProjectKeySimilaritiesProductsStatusByTaskIdGet(final ApiHttpClient apiHttpClient, String projectKey, 041 String taskId) { 042 super(apiHttpClient); 043 this.projectKey = projectKey; 044 this.taskId = taskId; 045 } 046 047 public ByProjectKeySimilaritiesProductsStatusByTaskIdGet(ByProjectKeySimilaritiesProductsStatusByTaskIdGet t) { 048 super(t); 049 this.projectKey = t.projectKey; 050 this.taskId = t.taskId; 051 } 052 053 @Override 054 protected ApiHttpRequest buildHttpRequest() { 055 List<String> params = new ArrayList<>(getQueryParamUriStrings()); 056 String httpRequestPath = String.format("/%s/similarities/products/status/%s", this.projectKey, this.taskId); 057 if (!params.isEmpty()) { 058 httpRequestPath += "?" + String.join("&", params); 059 } 060 return new ApiHttpRequest(ApiHttpMethod.GET, URI.create(httpRequestPath), getHeaders(), null); 061 } 062 063 @Override 064 public ApiHttpResponse<com.commercetools.ml.models.similar_products.SimilarProductsTaskStatus> executeBlocking( 065 final ApiHttpClient client, final Duration timeout) { 066 return executeBlocking(client, timeout, 067 com.commercetools.ml.models.similar_products.SimilarProductsTaskStatus.class); 068 } 069 070 @Override 071 public CompletableFuture<ApiHttpResponse<com.commercetools.ml.models.similar_products.SimilarProductsTaskStatus>> execute( 072 final ApiHttpClient client) { 073 return execute(client, com.commercetools.ml.models.similar_products.SimilarProductsTaskStatus.class); 074 } 075 076 public String getProjectKey() { 077 return this.projectKey; 078 } 079 080 public String getTaskId() { 081 return this.taskId; 082 } 083 084 public void setProjectKey(final String projectKey) { 085 this.projectKey = projectKey; 086 } 087 088 public void setTaskId(final String taskId) { 089 this.taskId = taskId; 090 } 091 092 @Override 093 public boolean equals(Object o) { 094 if (this == o) 095 return true; 096 097 if (o == null || getClass() != o.getClass()) 098 return false; 099 100 ByProjectKeySimilaritiesProductsStatusByTaskIdGet that = (ByProjectKeySimilaritiesProductsStatusByTaskIdGet) o; 101 102 return new EqualsBuilder().append(projectKey, that.projectKey).append(taskId, that.taskId).isEquals(); 103 } 104 105 @Override 106 public int hashCode() { 107 return new HashCodeBuilder(17, 37).append(projectKey).append(taskId).toHashCode(); 108 } 109 110 @Override 111 protected ByProjectKeySimilaritiesProductsStatusByTaskIdGet copy() { 112 return new ByProjectKeySimilaritiesProductsStatusByTaskIdGet(this); 113 } 114}