001 002package com.commercetools.ml.models.category_recommendations; 003 004import java.util.*; 005import java.util.function.Function; 006 007import io.vrap.rmf.base.client.Builder; 008import io.vrap.rmf.base.client.utils.Generated; 009 010/** 011 * ProjectCategoryRecommendationPagedQueryResponseBuilder 012 * <hr> 013 * Example to create an instance using the builder pattern 014 * <div class=code-example> 015 * <pre><code class='java'> 016 * ProjectCategoryRecommendationPagedQueryResponse projectCategoryRecommendationPagedQueryResponse = ProjectCategoryRecommendationPagedQueryResponse.builder() 017 * .count(0.3) 018 * .total(0.3) 019 * .offset(0.3) 020 * .plusResults(resultsBuilder -> resultsBuilder) 021 * .meta(metaBuilder -> metaBuilder) 022 * .build() 023 * </code></pre> 024 * </div> 025 */ 026@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen") 027public class ProjectCategoryRecommendationPagedQueryResponseBuilder 028 implements Builder<ProjectCategoryRecommendationPagedQueryResponse> { 029 030 private Long count; 031 032 private Long total; 033 034 private Long offset; 035 036 private java.util.List<com.commercetools.ml.models.category_recommendations.ProjectCategoryRecommendation> results; 037 038 private com.commercetools.ml.models.category_recommendations.ProjectCategoryRecommendationMeta meta; 039 040 /** 041 * 042 */ 043 044 public ProjectCategoryRecommendationPagedQueryResponseBuilder count(final Long count) { 045 this.count = count; 046 return this; 047 } 048 049 /** 050 * 051 */ 052 053 public ProjectCategoryRecommendationPagedQueryResponseBuilder total(final Long total) { 054 this.total = total; 055 return this; 056 } 057 058 /** 059 * <p>Number of elements skipped.</p> 060 */ 061 062 public ProjectCategoryRecommendationPagedQueryResponseBuilder offset(final Long offset) { 063 this.offset = offset; 064 return this; 065 } 066 067 /** 068 * 069 */ 070 071 public ProjectCategoryRecommendationPagedQueryResponseBuilder results( 072 final com.commercetools.ml.models.category_recommendations.ProjectCategoryRecommendation... results) { 073 this.results = new ArrayList<>(Arrays.asList(results)); 074 return this; 075 } 076 077 /** 078 * 079 */ 080 081 public ProjectCategoryRecommendationPagedQueryResponseBuilder results( 082 final java.util.List<com.commercetools.ml.models.category_recommendations.ProjectCategoryRecommendation> results) { 083 this.results = results; 084 return this; 085 } 086 087 /** 088 * 089 */ 090 091 public ProjectCategoryRecommendationPagedQueryResponseBuilder plusResults( 092 final com.commercetools.ml.models.category_recommendations.ProjectCategoryRecommendation... results) { 093 if (this.results == null) { 094 this.results = new ArrayList<>(); 095 } 096 this.results.addAll(Arrays.asList(results)); 097 return this; 098 } 099 100 /** 101 * 102 */ 103 104 public ProjectCategoryRecommendationPagedQueryResponseBuilder plusResults( 105 Function<com.commercetools.ml.models.category_recommendations.ProjectCategoryRecommendationBuilder, com.commercetools.ml.models.category_recommendations.ProjectCategoryRecommendationBuilder> builder) { 106 if (this.results == null) { 107 this.results = new ArrayList<>(); 108 } 109 this.results.add(builder 110 .apply(com.commercetools.ml.models.category_recommendations.ProjectCategoryRecommendationBuilder.of()) 111 .build()); 112 return this; 113 } 114 115 /** 116 * 117 */ 118 119 public ProjectCategoryRecommendationPagedQueryResponseBuilder withResults( 120 Function<com.commercetools.ml.models.category_recommendations.ProjectCategoryRecommendationBuilder, com.commercetools.ml.models.category_recommendations.ProjectCategoryRecommendationBuilder> builder) { 121 this.results = new ArrayList<>(); 122 this.results.add(builder 123 .apply(com.commercetools.ml.models.category_recommendations.ProjectCategoryRecommendationBuilder.of()) 124 .build()); 125 return this; 126 } 127 128 /** 129 * 130 */ 131 132 public ProjectCategoryRecommendationPagedQueryResponseBuilder meta( 133 Function<com.commercetools.ml.models.category_recommendations.ProjectCategoryRecommendationMetaBuilder, com.commercetools.ml.models.category_recommendations.ProjectCategoryRecommendationMetaBuilder> builder) { 134 this.meta = builder 135 .apply( 136 com.commercetools.ml.models.category_recommendations.ProjectCategoryRecommendationMetaBuilder.of()) 137 .build(); 138 return this; 139 } 140 141 /** 142 * 143 */ 144 145 public ProjectCategoryRecommendationPagedQueryResponseBuilder meta( 146 final com.commercetools.ml.models.category_recommendations.ProjectCategoryRecommendationMeta meta) { 147 this.meta = meta; 148 return this; 149 } 150 151 public Long getCount() { 152 return this.count; 153 } 154 155 public Long getTotal() { 156 return this.total; 157 } 158 159 public Long getOffset() { 160 return this.offset; 161 } 162 163 public java.util.List<com.commercetools.ml.models.category_recommendations.ProjectCategoryRecommendation> getResults() { 164 return this.results; 165 } 166 167 public com.commercetools.ml.models.category_recommendations.ProjectCategoryRecommendationMeta getMeta() { 168 return this.meta; 169 } 170 171 public ProjectCategoryRecommendationPagedQueryResponse build() { 172 Objects.requireNonNull(count, ProjectCategoryRecommendationPagedQueryResponse.class + ": count is missing"); 173 Objects.requireNonNull(total, ProjectCategoryRecommendationPagedQueryResponse.class + ": total is missing"); 174 Objects.requireNonNull(offset, ProjectCategoryRecommendationPagedQueryResponse.class + ": offset is missing"); 175 Objects.requireNonNull(results, ProjectCategoryRecommendationPagedQueryResponse.class + ": results is missing"); 176 Objects.requireNonNull(meta, ProjectCategoryRecommendationPagedQueryResponse.class + ": meta is missing"); 177 return new ProjectCategoryRecommendationPagedQueryResponseImpl(count, total, offset, results, meta); 178 } 179 180 /** 181 * builds ProjectCategoryRecommendationPagedQueryResponse without checking for non null required values 182 */ 183 public ProjectCategoryRecommendationPagedQueryResponse buildUnchecked() { 184 return new ProjectCategoryRecommendationPagedQueryResponseImpl(count, total, offset, results, meta); 185 } 186 187 public static ProjectCategoryRecommendationPagedQueryResponseBuilder of() { 188 return new ProjectCategoryRecommendationPagedQueryResponseBuilder(); 189 } 190 191 public static ProjectCategoryRecommendationPagedQueryResponseBuilder of( 192 final ProjectCategoryRecommendationPagedQueryResponse template) { 193 ProjectCategoryRecommendationPagedQueryResponseBuilder builder = new ProjectCategoryRecommendationPagedQueryResponseBuilder(); 194 builder.count = template.getCount(); 195 builder.total = template.getTotal(); 196 builder.offset = template.getOffset(); 197 builder.results = template.getResults(); 198 builder.meta = template.getMeta(); 199 return builder; 200 } 201 202}