001
002package com.commercetools.api.models.order_edit;
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 * StagedOrderChangeShipmentStateActionBuilder
013 * <hr>
014 * Example to create an instance using the builder pattern
015 * <div class=code-example>
016 * <pre><code class='java'>
017 *     StagedOrderChangeShipmentStateAction stagedOrderChangeShipmentStateAction = StagedOrderChangeShipmentStateAction.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 StagedOrderChangeShipmentStateActionBuilder implements Builder<StagedOrderChangeShipmentStateAction> {
024
025    @Nullable
026    private com.commercetools.api.models.order.ShipmentState shipmentState;
027
028    /**
029     * set the value to the shipmentState
030     * @param shipmentState value to be set
031     * @return Builder
032     */
033
034    public StagedOrderChangeShipmentStateActionBuilder shipmentState(
035            @Nullable final com.commercetools.api.models.order.ShipmentState shipmentState) {
036        this.shipmentState = shipmentState;
037        return this;
038    }
039
040    /**
041     * value of shipmentState}
042     * @return shipmentState
043     */
044
045    @Nullable
046    public com.commercetools.api.models.order.ShipmentState getShipmentState() {
047        return this.shipmentState;
048    }
049
050    /**
051     * builds StagedOrderChangeShipmentStateAction with checking for non-null required values
052     * @return StagedOrderChangeShipmentStateAction
053     */
054    public StagedOrderChangeShipmentStateAction build() {
055        return new StagedOrderChangeShipmentStateActionImpl(shipmentState);
056    }
057
058    /**
059     * builds StagedOrderChangeShipmentStateAction without checking for non-null required values
060     * @return StagedOrderChangeShipmentStateAction
061     */
062    public StagedOrderChangeShipmentStateAction buildUnchecked() {
063        return new StagedOrderChangeShipmentStateActionImpl(shipmentState);
064    }
065
066    /**
067     * factory method for an instance of StagedOrderChangeShipmentStateActionBuilder
068     * @return builder
069     */
070    public static StagedOrderChangeShipmentStateActionBuilder of() {
071        return new StagedOrderChangeShipmentStateActionBuilder();
072    }
073
074    /**
075     * create builder for StagedOrderChangeShipmentStateAction instance
076     * @param template instance with prefilled values for the builder
077     * @return builder
078     */
079    public static StagedOrderChangeShipmentStateActionBuilder of(final StagedOrderChangeShipmentStateAction template) {
080        StagedOrderChangeShipmentStateActionBuilder builder = new StagedOrderChangeShipmentStateActionBuilder();
081        builder.shipmentState = template.getShipmentState();
082        return builder;
083    }
084
085}