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 * ChangeCustomLineItemQuantityChangeBuilder 012 * <hr> 013 * Example to create an instance using the builder pattern 014 * <div class=code-example> 015 * <pre><code class='java'> 016 * ChangeCustomLineItemQuantityChange changeCustomLineItemQuantityChange = ChangeCustomLineItemQuantityChange.builder() 017 * .change("{change}") 018 * .previousValue(1) 019 * .nextValue(1) 020 * .customLineItem(customLineItemBuilder -> customLineItemBuilder) 021 * .customLineItemId("{customLineItemId}") 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 ChangeCustomLineItemQuantityChangeBuilder implements Builder<ChangeCustomLineItemQuantityChange> { 028 029 private String change; 030 031 private Integer previousValue; 032 033 private Integer nextValue; 034 035 private com.commercetools.history.models.common.LocalizedString customLineItem; 036 037 private String customLineItemId; 038 039 /** 040 * set the value to the change 041 * @param change value to be set 042 * @return Builder 043 */ 044 045 public ChangeCustomLineItemQuantityChangeBuilder 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 ChangeCustomLineItemQuantityChangeBuilder previousValue(final Integer previousValue) { 057 this.previousValue = previousValue; 058 return this; 059 } 060 061 /** 062 * <p>Value after the change.</p> 063 * @param nextValue value to be set 064 * @return Builder 065 */ 066 067 public ChangeCustomLineItemQuantityChangeBuilder nextValue(final Integer nextValue) { 068 this.nextValue = nextValue; 069 return this; 070 } 071 072 /** 073 * <p>Name of the CustomLineItem.</p> 074 * @param builder function to build the customLineItem value 075 * @return Builder 076 */ 077 078 public ChangeCustomLineItemQuantityChangeBuilder customLineItem( 079 Function<com.commercetools.history.models.common.LocalizedStringBuilder, com.commercetools.history.models.common.LocalizedStringBuilder> builder) { 080 this.customLineItem = builder.apply(com.commercetools.history.models.common.LocalizedStringBuilder.of()) 081 .build(); 082 return this; 083 } 084 085 /** 086 * <p>Name of the CustomLineItem.</p> 087 * @param builder function to build the customLineItem value 088 * @return Builder 089 */ 090 091 public ChangeCustomLineItemQuantityChangeBuilder withCustomLineItem( 092 Function<com.commercetools.history.models.common.LocalizedStringBuilder, com.commercetools.history.models.common.LocalizedString> builder) { 093 this.customLineItem = builder.apply(com.commercetools.history.models.common.LocalizedStringBuilder.of()); 094 return this; 095 } 096 097 /** 098 * <p>Name of the CustomLineItem.</p> 099 * @param customLineItem value to be set 100 * @return Builder 101 */ 102 103 public ChangeCustomLineItemQuantityChangeBuilder customLineItem( 104 final com.commercetools.history.models.common.LocalizedString customLineItem) { 105 this.customLineItem = customLineItem; 106 return this; 107 } 108 109 /** 110 * <p><code>id</code> of the updated CustomLineItem.</p> 111 * @param customLineItemId value to be set 112 * @return Builder 113 */ 114 115 public ChangeCustomLineItemQuantityChangeBuilder customLineItemId(final String customLineItemId) { 116 this.customLineItemId = customLineItemId; 117 return this; 118 } 119 120 /** 121 * value of change} 122 * @return change 123 */ 124 125 public String getChange() { 126 return this.change; 127 } 128 129 /** 130 * <p>Value before the change.</p> 131 * @return previousValue 132 */ 133 134 public Integer getPreviousValue() { 135 return this.previousValue; 136 } 137 138 /** 139 * <p>Value after the change.</p> 140 * @return nextValue 141 */ 142 143 public Integer getNextValue() { 144 return this.nextValue; 145 } 146 147 /** 148 * <p>Name of the CustomLineItem.</p> 149 * @return customLineItem 150 */ 151 152 public com.commercetools.history.models.common.LocalizedString getCustomLineItem() { 153 return this.customLineItem; 154 } 155 156 /** 157 * <p><code>id</code> of the updated CustomLineItem.</p> 158 * @return customLineItemId 159 */ 160 161 public String getCustomLineItemId() { 162 return this.customLineItemId; 163 } 164 165 /** 166 * builds ChangeCustomLineItemQuantityChange with checking for non-null required values 167 * @return ChangeCustomLineItemQuantityChange 168 */ 169 public ChangeCustomLineItemQuantityChange build() { 170 Objects.requireNonNull(change, ChangeCustomLineItemQuantityChange.class + ": change is missing"); 171 Objects.requireNonNull(previousValue, ChangeCustomLineItemQuantityChange.class + ": previousValue is missing"); 172 Objects.requireNonNull(nextValue, ChangeCustomLineItemQuantityChange.class + ": nextValue is missing"); 173 Objects.requireNonNull(customLineItem, 174 ChangeCustomLineItemQuantityChange.class + ": customLineItem is missing"); 175 Objects.requireNonNull(customLineItemId, 176 ChangeCustomLineItemQuantityChange.class + ": customLineItemId is missing"); 177 return new ChangeCustomLineItemQuantityChangeImpl(change, previousValue, nextValue, customLineItem, 178 customLineItemId); 179 } 180 181 /** 182 * builds ChangeCustomLineItemQuantityChange without checking for non-null required values 183 * @return ChangeCustomLineItemQuantityChange 184 */ 185 public ChangeCustomLineItemQuantityChange buildUnchecked() { 186 return new ChangeCustomLineItemQuantityChangeImpl(change, previousValue, nextValue, customLineItem, 187 customLineItemId); 188 } 189 190 /** 191 * factory method for an instance of ChangeCustomLineItemQuantityChangeBuilder 192 * @return builder 193 */ 194 public static ChangeCustomLineItemQuantityChangeBuilder of() { 195 return new ChangeCustomLineItemQuantityChangeBuilder(); 196 } 197 198 /** 199 * create builder for ChangeCustomLineItemQuantityChange instance 200 * @param template instance with prefilled values for the builder 201 * @return builder 202 */ 203 public static ChangeCustomLineItemQuantityChangeBuilder of(final ChangeCustomLineItemQuantityChange template) { 204 ChangeCustomLineItemQuantityChangeBuilder builder = new ChangeCustomLineItemQuantityChangeBuilder(); 205 builder.change = template.getChange(); 206 builder.previousValue = template.getPreviousValue(); 207 builder.nextValue = template.getNextValue(); 208 builder.customLineItem = template.getCustomLineItem(); 209 builder.customLineItemId = template.getCustomLineItemId(); 210 return builder; 211 } 212 213}