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