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