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 * OrderRemoveParcelFromDeliveryActionBuilder
013 * <hr>
014 * Example to create an instance using the builder pattern
015 * <div class=code-example>
016 * <pre><code class='java'>
017 *     OrderRemoveParcelFromDeliveryAction orderRemoveParcelFromDeliveryAction = OrderRemoveParcelFromDeliveryAction.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 OrderRemoveParcelFromDeliveryActionBuilder implements Builder<OrderRemoveParcelFromDeliveryAction> {
024
025    @Nullable
026    private String parcelId;
027
028    @Nullable
029    private String parcelKey;
030
031    /**
032     *  <p>Either <code>parcelId</code> or <code>parcelKey</code> is required for this update action.</p>
033     * @param parcelId value to be set
034     * @return Builder
035     */
036
037    public OrderRemoveParcelFromDeliveryActionBuilder parcelId(@Nullable final String parcelId) {
038        this.parcelId = parcelId;
039        return this;
040    }
041
042    /**
043     *  <p>Either <code>parcelId</code> or <code>parcelKey</code> is required for this update action.</p>
044     * @param parcelKey value to be set
045     * @return Builder
046     */
047
048    public OrderRemoveParcelFromDeliveryActionBuilder parcelKey(@Nullable final String parcelKey) {
049        this.parcelKey = parcelKey;
050        return this;
051    }
052
053    /**
054     *  <p>Either <code>parcelId</code> or <code>parcelKey</code> is required for this update action.</p>
055     * @return parcelId
056     */
057
058    @Nullable
059    public String getParcelId() {
060        return this.parcelId;
061    }
062
063    /**
064     *  <p>Either <code>parcelId</code> or <code>parcelKey</code> is required for this update action.</p>
065     * @return parcelKey
066     */
067
068    @Nullable
069    public String getParcelKey() {
070        return this.parcelKey;
071    }
072
073    /**
074     * builds OrderRemoveParcelFromDeliveryAction with checking for non-null required values
075     * @return OrderRemoveParcelFromDeliveryAction
076     */
077    public OrderRemoveParcelFromDeliveryAction build() {
078        return new OrderRemoveParcelFromDeliveryActionImpl(parcelId, parcelKey);
079    }
080
081    /**
082     * builds OrderRemoveParcelFromDeliveryAction without checking for non-null required values
083     * @return OrderRemoveParcelFromDeliveryAction
084     */
085    public OrderRemoveParcelFromDeliveryAction buildUnchecked() {
086        return new OrderRemoveParcelFromDeliveryActionImpl(parcelId, parcelKey);
087    }
088
089    /**
090     * factory method for an instance of OrderRemoveParcelFromDeliveryActionBuilder
091     * @return builder
092     */
093    public static OrderRemoveParcelFromDeliveryActionBuilder of() {
094        return new OrderRemoveParcelFromDeliveryActionBuilder();
095    }
096
097    /**
098     * create builder for OrderRemoveParcelFromDeliveryAction instance
099     * @param template instance with prefilled values for the builder
100     * @return builder
101     */
102    public static OrderRemoveParcelFromDeliveryActionBuilder of(final OrderRemoveParcelFromDeliveryAction template) {
103        OrderRemoveParcelFromDeliveryActionBuilder builder = new OrderRemoveParcelFromDeliveryActionBuilder();
104        builder.parcelId = template.getParcelId();
105        builder.parcelKey = template.getParcelKey();
106        return builder;
107    }
108
109}