001 002package com.commercetools.history.models.change; 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 * ChangeLocalizedEnumValueOrderChangeBuilder 012 * <hr> 013 * Example to create an instance using the builder pattern 014 * <div class=code-example> 015 * <pre><code class='java'> 016 * ChangeLocalizedEnumValueOrderChange changeLocalizedEnumValueOrderChange = ChangeLocalizedEnumValueOrderChange.builder() 017 * .change("{change}") 018 * .plusPreviousValue(previousValueBuilder -> previousValueBuilder) 019 * .plusNextValue(nextValueBuilder -> nextValueBuilder) 020 * .fieldName("{fieldName}") 021 * .attributeName("{attributeName}") 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 ChangeLocalizedEnumValueOrderChangeBuilder implements Builder<ChangeLocalizedEnumValueOrderChange> { 028 029 private String change; 030 031 private java.util.List<com.commercetools.history.models.change_value.LocalizedEnumValue> previousValue; 032 033 private java.util.List<com.commercetools.history.models.change_value.LocalizedEnumValue> nextValue; 034 035 private String fieldName; 036 037 private String attributeName; 038 039 /** 040 * set the value to the change 041 * @param change value to be set 042 * @return Builder 043 */ 044 045 public ChangeLocalizedEnumValueOrderChangeBuilder change(final String change) { 046 this.change = change; 047 return this; 048 } 049 050 /** 051 * <p>Value before the change.</p> 052 * @param previousValue value to be set 053 * @return Builder 054 */ 055 056 public ChangeLocalizedEnumValueOrderChangeBuilder previousValue( 057 final com.commercetools.history.models.change_value.LocalizedEnumValue... previousValue) { 058 this.previousValue = new ArrayList<>(Arrays.asList(previousValue)); 059 return this; 060 } 061 062 /** 063 * <p>Value before the change.</p> 064 * @param previousValue value to be set 065 * @return Builder 066 */ 067 068 public ChangeLocalizedEnumValueOrderChangeBuilder previousValue( 069 final java.util.List<com.commercetools.history.models.change_value.LocalizedEnumValue> previousValue) { 070 this.previousValue = previousValue; 071 return this; 072 } 073 074 /** 075 * <p>Value before the change.</p> 076 * @param previousValue value to be set 077 * @return Builder 078 */ 079 080 public ChangeLocalizedEnumValueOrderChangeBuilder plusPreviousValue( 081 final com.commercetools.history.models.change_value.LocalizedEnumValue... previousValue) { 082 if (this.previousValue == null) { 083 this.previousValue = new ArrayList<>(); 084 } 085 this.previousValue.addAll(Arrays.asList(previousValue)); 086 return this; 087 } 088 089 /** 090 * <p>Value before the change.</p> 091 * @param builder function to build the previousValue value 092 * @return Builder 093 */ 094 095 public ChangeLocalizedEnumValueOrderChangeBuilder plusPreviousValue( 096 Function<com.commercetools.history.models.change_value.LocalizedEnumValueBuilder, com.commercetools.history.models.change_value.LocalizedEnumValueBuilder> builder) { 097 if (this.previousValue == null) { 098 this.previousValue = new ArrayList<>(); 099 } 100 this.previousValue.add( 101 builder.apply(com.commercetools.history.models.change_value.LocalizedEnumValueBuilder.of()).build()); 102 return this; 103 } 104 105 /** 106 * <p>Value before the change.</p> 107 * @param builder function to build the previousValue value 108 * @return Builder 109 */ 110 111 public ChangeLocalizedEnumValueOrderChangeBuilder withPreviousValue( 112 Function<com.commercetools.history.models.change_value.LocalizedEnumValueBuilder, com.commercetools.history.models.change_value.LocalizedEnumValueBuilder> builder) { 113 this.previousValue = new ArrayList<>(); 114 this.previousValue.add( 115 builder.apply(com.commercetools.history.models.change_value.LocalizedEnumValueBuilder.of()).build()); 116 return this; 117 } 118 119 /** 120 * <p>Value before the change.</p> 121 * @param builder function to build the previousValue value 122 * @return Builder 123 */ 124 125 public ChangeLocalizedEnumValueOrderChangeBuilder addPreviousValue( 126 Function<com.commercetools.history.models.change_value.LocalizedEnumValueBuilder, com.commercetools.history.models.change_value.LocalizedEnumValue> builder) { 127 return plusPreviousValue( 128 builder.apply(com.commercetools.history.models.change_value.LocalizedEnumValueBuilder.of())); 129 } 130 131 /** 132 * <p>Value before the change.</p> 133 * @param builder function to build the previousValue value 134 * @return Builder 135 */ 136 137 public ChangeLocalizedEnumValueOrderChangeBuilder setPreviousValue( 138 Function<com.commercetools.history.models.change_value.LocalizedEnumValueBuilder, com.commercetools.history.models.change_value.LocalizedEnumValue> builder) { 139 return previousValue( 140 builder.apply(com.commercetools.history.models.change_value.LocalizedEnumValueBuilder.of())); 141 } 142 143 /** 144 * <p>Value after the change.</p> 145 * @param nextValue value to be set 146 * @return Builder 147 */ 148 149 public ChangeLocalizedEnumValueOrderChangeBuilder nextValue( 150 final com.commercetools.history.models.change_value.LocalizedEnumValue... nextValue) { 151 this.nextValue = new ArrayList<>(Arrays.asList(nextValue)); 152 return this; 153 } 154 155 /** 156 * <p>Value after the change.</p> 157 * @param nextValue value to be set 158 * @return Builder 159 */ 160 161 public ChangeLocalizedEnumValueOrderChangeBuilder nextValue( 162 final java.util.List<com.commercetools.history.models.change_value.LocalizedEnumValue> nextValue) { 163 this.nextValue = nextValue; 164 return this; 165 } 166 167 /** 168 * <p>Value after the change.</p> 169 * @param nextValue value to be set 170 * @return Builder 171 */ 172 173 public ChangeLocalizedEnumValueOrderChangeBuilder plusNextValue( 174 final com.commercetools.history.models.change_value.LocalizedEnumValue... nextValue) { 175 if (this.nextValue == null) { 176 this.nextValue = new ArrayList<>(); 177 } 178 this.nextValue.addAll(Arrays.asList(nextValue)); 179 return this; 180 } 181 182 /** 183 * <p>Value after the change.</p> 184 * @param builder function to build the nextValue value 185 * @return Builder 186 */ 187 188 public ChangeLocalizedEnumValueOrderChangeBuilder plusNextValue( 189 Function<com.commercetools.history.models.change_value.LocalizedEnumValueBuilder, com.commercetools.history.models.change_value.LocalizedEnumValueBuilder> builder) { 190 if (this.nextValue == null) { 191 this.nextValue = new ArrayList<>(); 192 } 193 this.nextValue.add( 194 builder.apply(com.commercetools.history.models.change_value.LocalizedEnumValueBuilder.of()).build()); 195 return this; 196 } 197 198 /** 199 * <p>Value after the change.</p> 200 * @param builder function to build the nextValue value 201 * @return Builder 202 */ 203 204 public ChangeLocalizedEnumValueOrderChangeBuilder withNextValue( 205 Function<com.commercetools.history.models.change_value.LocalizedEnumValueBuilder, com.commercetools.history.models.change_value.LocalizedEnumValueBuilder> builder) { 206 this.nextValue = new ArrayList<>(); 207 this.nextValue.add( 208 builder.apply(com.commercetools.history.models.change_value.LocalizedEnumValueBuilder.of()).build()); 209 return this; 210 } 211 212 /** 213 * <p>Value after the change.</p> 214 * @param builder function to build the nextValue value 215 * @return Builder 216 */ 217 218 public ChangeLocalizedEnumValueOrderChangeBuilder addNextValue( 219 Function<com.commercetools.history.models.change_value.LocalizedEnumValueBuilder, com.commercetools.history.models.change_value.LocalizedEnumValue> builder) { 220 return plusNextValue( 221 builder.apply(com.commercetools.history.models.change_value.LocalizedEnumValueBuilder.of())); 222 } 223 224 /** 225 * <p>Value after the change.</p> 226 * @param builder function to build the nextValue value 227 * @return Builder 228 */ 229 230 public ChangeLocalizedEnumValueOrderChangeBuilder setNextValue( 231 Function<com.commercetools.history.models.change_value.LocalizedEnumValueBuilder, com.commercetools.history.models.change_value.LocalizedEnumValue> builder) { 232 return nextValue(builder.apply(com.commercetools.history.models.change_value.LocalizedEnumValueBuilder.of())); 233 } 234 235 /** 236 * <p>Name of the updated FieldDefinition; only present on changes to Types.</p> 237 * @param fieldName value to be set 238 * @return Builder 239 */ 240 241 public ChangeLocalizedEnumValueOrderChangeBuilder fieldName(final String fieldName) { 242 this.fieldName = fieldName; 243 return this; 244 } 245 246 /** 247 * <p>Name of the updated AttributeDefinition; only present on changes to Product Types.</p> 248 * @param attributeName value to be set 249 * @return Builder 250 */ 251 252 public ChangeLocalizedEnumValueOrderChangeBuilder attributeName(final String attributeName) { 253 this.attributeName = attributeName; 254 return this; 255 } 256 257 /** 258 * value of change} 259 * @return change 260 */ 261 262 public String getChange() { 263 return this.change; 264 } 265 266 /** 267 * <p>Value before the change.</p> 268 * @return previousValue 269 */ 270 271 public java.util.List<com.commercetools.history.models.change_value.LocalizedEnumValue> getPreviousValue() { 272 return this.previousValue; 273 } 274 275 /** 276 * <p>Value after the change.</p> 277 * @return nextValue 278 */ 279 280 public java.util.List<com.commercetools.history.models.change_value.LocalizedEnumValue> getNextValue() { 281 return this.nextValue; 282 } 283 284 /** 285 * <p>Name of the updated FieldDefinition; only present on changes to Types.</p> 286 * @return fieldName 287 */ 288 289 public String getFieldName() { 290 return this.fieldName; 291 } 292 293 /** 294 * <p>Name of the updated AttributeDefinition; only present on changes to Product Types.</p> 295 * @return attributeName 296 */ 297 298 public String getAttributeName() { 299 return this.attributeName; 300 } 301 302 /** 303 * builds ChangeLocalizedEnumValueOrderChange with checking for non-null required values 304 * @return ChangeLocalizedEnumValueOrderChange 305 */ 306 public ChangeLocalizedEnumValueOrderChange build() { 307 Objects.requireNonNull(change, ChangeLocalizedEnumValueOrderChange.class + ": change is missing"); 308 Objects.requireNonNull(previousValue, ChangeLocalizedEnumValueOrderChange.class + ": previousValue is missing"); 309 Objects.requireNonNull(nextValue, ChangeLocalizedEnumValueOrderChange.class + ": nextValue is missing"); 310 Objects.requireNonNull(fieldName, ChangeLocalizedEnumValueOrderChange.class + ": fieldName is missing"); 311 Objects.requireNonNull(attributeName, ChangeLocalizedEnumValueOrderChange.class + ": attributeName is missing"); 312 return new ChangeLocalizedEnumValueOrderChangeImpl(change, previousValue, nextValue, fieldName, attributeName); 313 } 314 315 /** 316 * builds ChangeLocalizedEnumValueOrderChange without checking for non-null required values 317 * @return ChangeLocalizedEnumValueOrderChange 318 */ 319 public ChangeLocalizedEnumValueOrderChange buildUnchecked() { 320 return new ChangeLocalizedEnumValueOrderChangeImpl(change, previousValue, nextValue, fieldName, attributeName); 321 } 322 323 /** 324 * factory method for an instance of ChangeLocalizedEnumValueOrderChangeBuilder 325 * @return builder 326 */ 327 public static ChangeLocalizedEnumValueOrderChangeBuilder of() { 328 return new ChangeLocalizedEnumValueOrderChangeBuilder(); 329 } 330 331 /** 332 * create builder for ChangeLocalizedEnumValueOrderChange instance 333 * @param template instance with prefilled values for the builder 334 * @return builder 335 */ 336 public static ChangeLocalizedEnumValueOrderChangeBuilder of(final ChangeLocalizedEnumValueOrderChange template) { 337 ChangeLocalizedEnumValueOrderChangeBuilder builder = new ChangeLocalizedEnumValueOrderChangeBuilder(); 338 builder.change = template.getChange(); 339 builder.previousValue = template.getPreviousValue(); 340 builder.nextValue = template.getNextValue(); 341 builder.fieldName = template.getFieldName(); 342 builder.attributeName = template.getAttributeName(); 343 return builder; 344 } 345 346}