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.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 * GeneralCategoryRecommendationPagedQueryResponse
018 *
019 * <hr>
020 * Example to create an instance using the builder pattern
021 * <div class=code-example>
022 * <pre><code class='java'>
023 *     GeneralCategoryRecommendationPagedQueryResponse generalCategoryRecommendationPagedQueryResponse = GeneralCategoryRecommendationPagedQueryResponse.builder()
024 *             .count(0.3)
025 *             .total(0.3)
026 *             .offset(0.3)
027 *             .plusResults(resultsBuilder -> resultsBuilder)
028 *             .build()
029 * </code></pre>
030 * </div>
031 */
032@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen")
033@JsonDeserialize(as = GeneralCategoryRecommendationPagedQueryResponseImpl.class)
034public interface GeneralCategoryRecommendationPagedQueryResponse {
035
036    /**
037     *
038     */
039    @NotNull
040    @JsonProperty("count")
041    public Long getCount();
042
043    /**
044     *
045     */
046    @NotNull
047    @JsonProperty("total")
048    public Long getTotal();
049
050    /**
051     *  <p>Number of elements skipped.</p>
052     */
053    @NotNull
054    @JsonProperty("offset")
055    public Long getOffset();
056
057    /**
058     *
059     */
060    @NotNull
061    @Valid
062    @JsonProperty("results")
063    public List<GeneralCategoryRecommendation> getResults();
064
065    public void setCount(final Long count);
066
067    public void setTotal(final Long total);
068
069    public void setOffset(final Long offset);
070
071    @JsonIgnore
072    public void setResults(final GeneralCategoryRecommendation... results);
073
074    public void setResults(final List<GeneralCategoryRecommendation> results);
075
076    public static GeneralCategoryRecommendationPagedQueryResponse of() {
077        return new GeneralCategoryRecommendationPagedQueryResponseImpl();
078    }
079
080    public static GeneralCategoryRecommendationPagedQueryResponse of(
081            final GeneralCategoryRecommendationPagedQueryResponse template) {
082        GeneralCategoryRecommendationPagedQueryResponseImpl instance = new GeneralCategoryRecommendationPagedQueryResponseImpl();
083        instance.setCount(template.getCount());
084        instance.setTotal(template.getTotal());
085        instance.setOffset(template.getOffset());
086        instance.setResults(template.getResults());
087        return instance;
088    }
089
090    public static GeneralCategoryRecommendationPagedQueryResponseBuilder builder() {
091        return GeneralCategoryRecommendationPagedQueryResponseBuilder.of();
092    }
093
094    public static GeneralCategoryRecommendationPagedQueryResponseBuilder builder(
095            final GeneralCategoryRecommendationPagedQueryResponse template) {
096        return GeneralCategoryRecommendationPagedQueryResponseBuilder.of(template);
097    }
098
099    default <T> T withGeneralCategoryRecommendationPagedQueryResponse(
100            Function<GeneralCategoryRecommendationPagedQueryResponse, T> helper) {
101        return helper.apply(this);
102    }
103
104    public static com.fasterxml.jackson.core.type.TypeReference<GeneralCategoryRecommendationPagedQueryResponse> typeReference() {
105        return new com.fasterxml.jackson.core.type.TypeReference<GeneralCategoryRecommendationPagedQueryResponse>() {
106            @Override
107            public String toString() {
108                return "TypeReference<GeneralCategoryRecommendationPagedQueryResponse>";
109            }
110        };
111    }
112}