001 002package com.commercetools.ml.models.general_category_recommendations; 003 004import java.time.*; 005import java.util.*; 006import java.util.function.Function; 007 008import javax.validation.constraints.NotNull; 009 010import com.fasterxml.jackson.annotation.*; 011import com.fasterxml.jackson.databind.annotation.*; 012 013import io.vrap.rmf.base.client.utils.Generated; 014 015/** 016 * GeneralCategoryRecommendation 017 * 018 * <hr> 019 * Example to create an instance using the builder pattern 020 * <div class=code-example> 021 * <pre><code class='java'> 022 * GeneralCategoryRecommendation generalCategoryRecommendation = GeneralCategoryRecommendation.builder() 023 * .categoryName("{categoryName}") 024 * .confidence(0.3) 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 = GeneralCategoryRecommendationImpl.class) 031public interface GeneralCategoryRecommendation { 032 033 /** 034 * <p>An English category name that is recommended for a product.</p> 035 */ 036 @NotNull 037 @JsonProperty("categoryName") 038 public String getCategoryName(); 039 040 /** 041 * <p>Probability score for the category recommendation.</p> 042 */ 043 @NotNull 044 @JsonProperty("confidence") 045 public Double getConfidence(); 046 047 public void setCategoryName(final String categoryName); 048 049 public void setConfidence(final Double confidence); 050 051 public static GeneralCategoryRecommendation of() { 052 return new GeneralCategoryRecommendationImpl(); 053 } 054 055 public static GeneralCategoryRecommendation of(final GeneralCategoryRecommendation template) { 056 GeneralCategoryRecommendationImpl instance = new GeneralCategoryRecommendationImpl(); 057 instance.setCategoryName(template.getCategoryName()); 058 instance.setConfidence(template.getConfidence()); 059 return instance; 060 } 061 062 public static GeneralCategoryRecommendationBuilder builder() { 063 return GeneralCategoryRecommendationBuilder.of(); 064 } 065 066 public static GeneralCategoryRecommendationBuilder builder(final GeneralCategoryRecommendation template) { 067 return GeneralCategoryRecommendationBuilder.of(template); 068 } 069 070 default <T> T withGeneralCategoryRecommendation(Function<GeneralCategoryRecommendation, T> helper) { 071 return helper.apply(this); 072 } 073 074 public static com.fasterxml.jackson.core.type.TypeReference<GeneralCategoryRecommendation> typeReference() { 075 return new com.fasterxml.jackson.core.type.TypeReference<GeneralCategoryRecommendation>() { 076 @Override 077 public String toString() { 078 return "TypeReference<GeneralCategoryRecommendation>"; 079 } 080 }; 081 } 082}