001 002package com.commercetools.ml.models.similar_products; 003 004import java.time.*; 005import java.util.*; 006import java.util.function.Function; 007 008import javax.validation.Valid; 009import javax.validation.constraints.NotNull; 010 011import com.fasterxml.jackson.annotation.*; 012import com.fasterxml.jackson.databind.annotation.*; 013 014import io.vrap.rmf.base.client.utils.Generated; 015 016/** 017 * SimilarProductSearchRequestMeta 018 * 019 * <hr> 020 * Example to create an instance using the builder pattern 021 * <div class=code-example> 022 * <pre><code class='java'> 023 * SimilarProductSearchRequestMeta similarProductSearchRequestMeta = SimilarProductSearchRequestMeta.builder() 024 * .similarityMeasures(similarityMeasuresBuilder -> similarityMeasuresBuilder) 025 * .build() 026 * </code></pre> 027 * </div> 028 */ 029@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen") 030@JsonDeserialize(as = SimilarProductSearchRequestMetaImpl.class) 031public interface SimilarProductSearchRequestMeta { 032 033 /** 034 * <p>The SimilarityMeasures used in this search.</p> 035 */ 036 @NotNull 037 @Valid 038 @JsonProperty("similarityMeasures") 039 public SimilarityMeasures getSimilarityMeasures(); 040 041 public void setSimilarityMeasures(final SimilarityMeasures similarityMeasures); 042 043 public static SimilarProductSearchRequestMeta of() { 044 return new SimilarProductSearchRequestMetaImpl(); 045 } 046 047 public static SimilarProductSearchRequestMeta of(final SimilarProductSearchRequestMeta template) { 048 SimilarProductSearchRequestMetaImpl instance = new SimilarProductSearchRequestMetaImpl(); 049 instance.setSimilarityMeasures(template.getSimilarityMeasures()); 050 return instance; 051 } 052 053 public static SimilarProductSearchRequestMetaBuilder builder() { 054 return SimilarProductSearchRequestMetaBuilder.of(); 055 } 056 057 public static SimilarProductSearchRequestMetaBuilder builder(final SimilarProductSearchRequestMeta template) { 058 return SimilarProductSearchRequestMetaBuilder.of(template); 059 } 060 061 default <T> T withSimilarProductSearchRequestMeta(Function<SimilarProductSearchRequestMeta, T> helper) { 062 return helper.apply(this); 063 } 064 065 public static com.fasterxml.jackson.core.type.TypeReference<SimilarProductSearchRequestMeta> typeReference() { 066 return new com.fasterxml.jackson.core.type.TypeReference<SimilarProductSearchRequestMeta>() { 067 @Override 068 public String toString() { 069 return "TypeReference<SimilarProductSearchRequestMeta>"; 070 } 071 }; 072 } 073}