001
002package com.commercetools.api.models.order_edit;
003
004import java.util.*;
005
006import io.vrap.rmf.base.client.Builder;
007import io.vrap.rmf.base.client.utils.Generated;
008
009/**
010 * StagedOrderRemoveItemShippingAddressActionBuilder
011 * <hr>
012 * Example to create an instance using the builder pattern
013 * <div class=code-example>
014 * <pre><code class='java'>
015 *     StagedOrderRemoveItemShippingAddressAction stagedOrderRemoveItemShippingAddressAction = StagedOrderRemoveItemShippingAddressAction.builder()
016 *             .addressKey("{addressKey}")
017 *             .build()
018 * </code></pre>
019 * </div>
020 */
021@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen")
022public class StagedOrderRemoveItemShippingAddressActionBuilder
023        implements Builder<StagedOrderRemoveItemShippingAddressAction> {
024
025    private String addressKey;
026
027    /**
028     * set the value to the addressKey
029     * @param addressKey value to be set
030     * @return Builder
031     */
032
033    public StagedOrderRemoveItemShippingAddressActionBuilder addressKey(final String addressKey) {
034        this.addressKey = addressKey;
035        return this;
036    }
037
038    /**
039     * value of addressKey}
040     * @return addressKey
041     */
042
043    public String getAddressKey() {
044        return this.addressKey;
045    }
046
047    /**
048     * builds StagedOrderRemoveItemShippingAddressAction with checking for non-null required values
049     * @return StagedOrderRemoveItemShippingAddressAction
050     */
051    public StagedOrderRemoveItemShippingAddressAction build() {
052        Objects.requireNonNull(addressKey,
053            StagedOrderRemoveItemShippingAddressAction.class + ": addressKey is missing");
054        return new StagedOrderRemoveItemShippingAddressActionImpl(addressKey);
055    }
056
057    /**
058     * builds StagedOrderRemoveItemShippingAddressAction without checking for non-null required values
059     * @return StagedOrderRemoveItemShippingAddressAction
060     */
061    public StagedOrderRemoveItemShippingAddressAction buildUnchecked() {
062        return new StagedOrderRemoveItemShippingAddressActionImpl(addressKey);
063    }
064
065    /**
066     * factory method for an instance of StagedOrderRemoveItemShippingAddressActionBuilder
067     * @return builder
068     */
069    public static StagedOrderRemoveItemShippingAddressActionBuilder of() {
070        return new StagedOrderRemoveItemShippingAddressActionBuilder();
071    }
072
073    /**
074     * create builder for StagedOrderRemoveItemShippingAddressAction instance
075     * @param template instance with prefilled values for the builder
076     * @return builder
077     */
078    public static StagedOrderRemoveItemShippingAddressActionBuilder of(
079            final StagedOrderRemoveItemShippingAddressAction template) {
080        StagedOrderRemoveItemShippingAddressActionBuilder builder = new StagedOrderRemoveItemShippingAddressActionBuilder();
081        builder.addressKey = template.getAddressKey();
082        return builder;
083    }
084
085}