001 002package com.commercetools.importapi.models.customfields; 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 * ReferenceSetFieldBuilder 012 * <hr> 013 * Example to create an instance using the builder pattern 014 * <div class=code-example> 015 * <pre><code class='java'> 016 * ReferenceSetField referenceSetField = ReferenceSetField.builder() 017 * .plusValue(valueBuilder -> valueBuilder) 018 * .build() 019 * </code></pre> 020 * </div> 021 */ 022@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen") 023public class ReferenceSetFieldBuilder implements Builder<ReferenceSetField> { 024 025 private java.util.List<com.commercetools.importapi.models.common.KeyReference> value; 026 027 /** 028 * set values to the value 029 * @param value value to be set 030 * @return Builder 031 */ 032 033 public ReferenceSetFieldBuilder value(final com.commercetools.importapi.models.common.KeyReference... value) { 034 this.value = new ArrayList<>(Arrays.asList(value)); 035 return this; 036 } 037 038 /** 039 * set value to the value 040 * @param value value to be set 041 * @return Builder 042 */ 043 044 public ReferenceSetFieldBuilder value( 045 final java.util.List<com.commercetools.importapi.models.common.KeyReference> value) { 046 this.value = value; 047 return this; 048 } 049 050 /** 051 * add values to the value 052 * @param value value to be set 053 * @return Builder 054 */ 055 056 public ReferenceSetFieldBuilder plusValue(final com.commercetools.importapi.models.common.KeyReference... value) { 057 if (this.value == null) { 058 this.value = new ArrayList<>(); 059 } 060 this.value.addAll(Arrays.asList(value)); 061 return this; 062 } 063 064 /** 065 * add a value to the value using the builder function 066 * @param builder function to build the value value 067 * @return Builder 068 */ 069 070 public ReferenceSetFieldBuilder plusValue( 071 Function<com.commercetools.importapi.models.common.KeyReferenceBuilder, Builder<? extends com.commercetools.importapi.models.common.KeyReference>> builder) { 072 if (this.value == null) { 073 this.value = new ArrayList<>(); 074 } 075 this.value.add(builder.apply(com.commercetools.importapi.models.common.KeyReferenceBuilder.of()).build()); 076 return this; 077 } 078 079 /** 080 * set the value to the value using the builder function 081 * @param builder function to build the value value 082 * @return Builder 083 */ 084 085 public ReferenceSetFieldBuilder withValue( 086 Function<com.commercetools.importapi.models.common.KeyReferenceBuilder, Builder<? extends com.commercetools.importapi.models.common.KeyReference>> builder) { 087 this.value = new ArrayList<>(); 088 this.value.add(builder.apply(com.commercetools.importapi.models.common.KeyReferenceBuilder.of()).build()); 089 return this; 090 } 091 092 /** 093 * value of value} 094 * @return value 095 */ 096 097 public java.util.List<com.commercetools.importapi.models.common.KeyReference> getValue() { 098 return this.value; 099 } 100 101 /** 102 * builds ReferenceSetField with checking for non-null required values 103 * @return ReferenceSetField 104 */ 105 public ReferenceSetField build() { 106 Objects.requireNonNull(value, ReferenceSetField.class + ": value is missing"); 107 return new ReferenceSetFieldImpl(value); 108 } 109 110 /** 111 * builds ReferenceSetField without checking for non-null required values 112 * @return ReferenceSetField 113 */ 114 public ReferenceSetField buildUnchecked() { 115 return new ReferenceSetFieldImpl(value); 116 } 117 118 /** 119 * factory method for an instance of ReferenceSetFieldBuilder 120 * @return builder 121 */ 122 public static ReferenceSetFieldBuilder of() { 123 return new ReferenceSetFieldBuilder(); 124 } 125 126 /** 127 * create builder for ReferenceSetField instance 128 * @param template instance with prefilled values for the builder 129 * @return builder 130 */ 131 public static ReferenceSetFieldBuilder of(final ReferenceSetField template) { 132 ReferenceSetFieldBuilder builder = new ReferenceSetFieldBuilder(); 133 builder.value = template.getValue(); 134 return builder; 135 } 136 137}