001
002package com.commercetools.history.models.common;
003
004import java.util.*;
005
006import io.vrap.rmf.base.client.Builder;
007import io.vrap.rmf.base.client.utils.Generated;
008
009/**
010 * ParcelMeasurementsBuilder
011 * <hr>
012 * Example to create an instance using the builder pattern
013 * <div class=code-example>
014 * <pre><code class='java'>
015 *     ParcelMeasurements parcelMeasurements = ParcelMeasurements.builder()
016 *             .heightInMillimeter(1)
017 *             .lengthInMillimeter(1)
018 *             .widthInMillimeter(1)
019 *             .weightInGram(1)
020 *             .build()
021 * </code></pre>
022 * </div>
023 */
024@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen")
025public class ParcelMeasurementsBuilder implements Builder<ParcelMeasurements> {
026
027    private Integer heightInMillimeter;
028
029    private Integer lengthInMillimeter;
030
031    private Integer widthInMillimeter;
032
033    private Integer weightInGram;
034
035    /**
036     * set the value to the heightInMillimeter
037     * @param heightInMillimeter value to be set
038     * @return Builder
039     */
040
041    public ParcelMeasurementsBuilder heightInMillimeter(final Integer heightInMillimeter) {
042        this.heightInMillimeter = heightInMillimeter;
043        return this;
044    }
045
046    /**
047     * set the value to the lengthInMillimeter
048     * @param lengthInMillimeter value to be set
049     * @return Builder
050     */
051
052    public ParcelMeasurementsBuilder lengthInMillimeter(final Integer lengthInMillimeter) {
053        this.lengthInMillimeter = lengthInMillimeter;
054        return this;
055    }
056
057    /**
058     * set the value to the widthInMillimeter
059     * @param widthInMillimeter value to be set
060     * @return Builder
061     */
062
063    public ParcelMeasurementsBuilder widthInMillimeter(final Integer widthInMillimeter) {
064        this.widthInMillimeter = widthInMillimeter;
065        return this;
066    }
067
068    /**
069     * set the value to the weightInGram
070     * @param weightInGram value to be set
071     * @return Builder
072     */
073
074    public ParcelMeasurementsBuilder weightInGram(final Integer weightInGram) {
075        this.weightInGram = weightInGram;
076        return this;
077    }
078
079    /**
080     * value of heightInMillimeter}
081     * @return heightInMillimeter
082     */
083
084    public Integer getHeightInMillimeter() {
085        return this.heightInMillimeter;
086    }
087
088    /**
089     * value of lengthInMillimeter}
090     * @return lengthInMillimeter
091     */
092
093    public Integer getLengthInMillimeter() {
094        return this.lengthInMillimeter;
095    }
096
097    /**
098     * value of widthInMillimeter}
099     * @return widthInMillimeter
100     */
101
102    public Integer getWidthInMillimeter() {
103        return this.widthInMillimeter;
104    }
105
106    /**
107     * value of weightInGram}
108     * @return weightInGram
109     */
110
111    public Integer getWeightInGram() {
112        return this.weightInGram;
113    }
114
115    /**
116     * builds ParcelMeasurements with checking for non-null required values
117     * @return ParcelMeasurements
118     */
119    public ParcelMeasurements build() {
120        Objects.requireNonNull(heightInMillimeter, ParcelMeasurements.class + ": heightInMillimeter is missing");
121        Objects.requireNonNull(lengthInMillimeter, ParcelMeasurements.class + ": lengthInMillimeter is missing");
122        Objects.requireNonNull(widthInMillimeter, ParcelMeasurements.class + ": widthInMillimeter is missing");
123        Objects.requireNonNull(weightInGram, ParcelMeasurements.class + ": weightInGram is missing");
124        return new ParcelMeasurementsImpl(heightInMillimeter, lengthInMillimeter, widthInMillimeter, weightInGram);
125    }
126
127    /**
128     * builds ParcelMeasurements without checking for non-null required values
129     * @return ParcelMeasurements
130     */
131    public ParcelMeasurements buildUnchecked() {
132        return new ParcelMeasurementsImpl(heightInMillimeter, lengthInMillimeter, widthInMillimeter, weightInGram);
133    }
134
135    /**
136     * factory method for an instance of ParcelMeasurementsBuilder
137     * @return builder
138     */
139    public static ParcelMeasurementsBuilder of() {
140        return new ParcelMeasurementsBuilder();
141    }
142
143    /**
144     * create builder for ParcelMeasurements instance
145     * @param template instance with prefilled values for the builder
146     * @return builder
147     */
148    public static ParcelMeasurementsBuilder of(final ParcelMeasurements template) {
149        ParcelMeasurementsBuilder builder = new ParcelMeasurementsBuilder();
150        builder.heightInMillimeter = template.getHeightInMillimeter();
151        builder.lengthInMillimeter = template.getLengthInMillimeter();
152        builder.widthInMillimeter = template.getWidthInMillimeter();
153        builder.weightInGram = template.getWeightInGram();
154        return builder;
155    }
156
157}