001 002package com.commercetools.ml.models.similar_products; 003 004import java.time.*; 005import java.util.*; 006 007import com.fasterxml.jackson.annotation.JsonCreator; 008import com.fasterxml.jackson.annotation.JsonProperty; 009import com.fasterxml.jackson.databind.annotation.*; 010 011import io.vrap.rmf.base.client.ModelBase; 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 * SimilarProductSearchRequest 019 */ 020@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen") 021public class SimilarProductSearchRequestImpl implements SimilarProductSearchRequest, ModelBase { 022 023 private Long limit; 024 025 private Long offset; 026 027 private String language; 028 029 private String currencyCode; 030 031 private com.commercetools.ml.models.similar_products.SimilarityMeasures similarityMeasures; 032 033 private java.util.List<com.commercetools.ml.models.similar_products.ProductSetSelector> productSetSelectors; 034 035 private Double confidenceMin; 036 037 private Double confidenceMax; 038 039 @JsonCreator 040 SimilarProductSearchRequestImpl(@JsonProperty("limit") final Long limit, @JsonProperty("offset") final Long offset, 041 @JsonProperty("language") final String language, @JsonProperty("currencyCode") final String currencyCode, 042 @JsonProperty("similarityMeasures") final com.commercetools.ml.models.similar_products.SimilarityMeasures similarityMeasures, 043 @JsonProperty("productSetSelectors") final java.util.List<com.commercetools.ml.models.similar_products.ProductSetSelector> productSetSelectors, 044 @JsonProperty("confidenceMin") final Double confidenceMin, 045 @JsonProperty("confidenceMax") final Double confidenceMax) { 046 this.limit = limit; 047 this.offset = offset; 048 this.language = language; 049 this.currencyCode = currencyCode; 050 this.similarityMeasures = similarityMeasures; 051 this.productSetSelectors = productSetSelectors; 052 this.confidenceMin = confidenceMin; 053 this.confidenceMax = confidenceMax; 054 } 055 056 public SimilarProductSearchRequestImpl() { 057 } 058 059 /** 060 * <p>Number of results requested.</p> 061 */ 062 063 public Long getLimit() { 064 return this.limit; 065 } 066 067 /** 068 * <p>Number of elements skipped.</p> 069 */ 070 071 public Long getOffset() { 072 return this.offset; 073 } 074 075 /** 076 * <p>language tag used to prioritize language for text comparisons.</p> 077 */ 078 079 public String getLanguage() { 080 return this.language; 081 } 082 083 /** 084 * <p>The three-digit currency code to compare prices in. When a product has multiple prices, all prices for the product are converted to the currency provided by the currency attribute and the median price is calculated for comparison. Currencies are converted using the ECB currency exchange rates at the time the request is made. Of the currency codes, only currencies with currency exchange rates provided by the ECB are supported.</p> 085 */ 086 087 public String getCurrencyCode() { 088 return this.currencyCode; 089 } 090 091 /** 092 * <p><code>similarityMeasures</code> defines the attributes taken into account to measure product similarity.</p> 093 */ 094 095 public com.commercetools.ml.models.similar_products.SimilarityMeasures getSimilarityMeasures() { 096 return this.similarityMeasures; 097 } 098 099 /** 100 * <p>Array of length 2 of ProductSetSelector</p> 101 */ 102 103 public java.util.List<com.commercetools.ml.models.similar_products.ProductSetSelector> getProductSetSelectors() { 104 return this.productSetSelectors; 105 } 106 107 /** 108 * 109 */ 110 111 public Double getConfidenceMin() { 112 return this.confidenceMin; 113 } 114 115 /** 116 * 117 */ 118 119 public Double getConfidenceMax() { 120 return this.confidenceMax; 121 } 122 123 public void setLimit(final Long limit) { 124 this.limit = limit; 125 } 126 127 public void setOffset(final Long offset) { 128 this.offset = offset; 129 } 130 131 public void setLanguage(final String language) { 132 this.language = language; 133 } 134 135 public void setCurrencyCode(final String currencyCode) { 136 this.currencyCode = currencyCode; 137 } 138 139 public void setSimilarityMeasures( 140 final com.commercetools.ml.models.similar_products.SimilarityMeasures similarityMeasures) { 141 this.similarityMeasures = similarityMeasures; 142 } 143 144 public void setProductSetSelectors( 145 final com.commercetools.ml.models.similar_products.ProductSetSelector... productSetSelectors) { 146 this.productSetSelectors = new ArrayList<>(Arrays.asList(productSetSelectors)); 147 } 148 149 public void setProductSetSelectors( 150 final java.util.List<com.commercetools.ml.models.similar_products.ProductSetSelector> productSetSelectors) { 151 this.productSetSelectors = productSetSelectors; 152 } 153 154 public void setConfidenceMin(final Double confidenceMin) { 155 this.confidenceMin = confidenceMin; 156 } 157 158 public void setConfidenceMax(final Double confidenceMax) { 159 this.confidenceMax = confidenceMax; 160 } 161 162 @Override 163 public boolean equals(Object o) { 164 if (this == o) 165 return true; 166 167 if (o == null || getClass() != o.getClass()) 168 return false; 169 170 SimilarProductSearchRequestImpl that = (SimilarProductSearchRequestImpl) o; 171 172 return new EqualsBuilder().append(limit, that.limit) 173 .append(offset, that.offset) 174 .append(language, that.language) 175 .append(currencyCode, that.currencyCode) 176 .append(similarityMeasures, that.similarityMeasures) 177 .append(productSetSelectors, that.productSetSelectors) 178 .append(confidenceMin, that.confidenceMin) 179 .append(confidenceMax, that.confidenceMax) 180 .isEquals(); 181 } 182 183 @Override 184 public int hashCode() { 185 return new HashCodeBuilder(17, 37).append(limit) 186 .append(offset) 187 .append(language) 188 .append(currencyCode) 189 .append(similarityMeasures) 190 .append(productSetSelectors) 191 .append(confidenceMin) 192 .append(confidenceMax) 193 .toHashCode(); 194 } 195 196}