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