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