001
002package com.commercetools.api.models.shopping_list;
003
004import java.util.*;
005import java.util.function.Function;
006
007import javax.annotation.Nullable;
008
009import io.vrap.rmf.base.client.Builder;
010import io.vrap.rmf.base.client.utils.Generated;
011
012/**
013 * ShoppingListSetTextLineItemDescriptionActionBuilder
014 * <hr>
015 * Example to create an instance using the builder pattern
016 * <div class=code-example>
017 * <pre><code class='java'>
018 *     ShoppingListSetTextLineItemDescriptionAction shoppingListSetTextLineItemDescriptionAction = ShoppingListSetTextLineItemDescriptionAction.builder()
019 *             .textLineItemId("{textLineItemId}")
020 *             .build()
021 * </code></pre>
022 * </div>
023 */
024@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen")
025public class ShoppingListSetTextLineItemDescriptionActionBuilder
026        implements Builder<ShoppingListSetTextLineItemDescriptionAction> {
027
028    private String textLineItemId;
029
030    @Nullable
031    private com.commercetools.api.models.common.LocalizedString description;
032
033    /**
034     *  <p>The <code>id</code> of the TextLineItem to update.</p>
035     * @param textLineItemId value to be set
036     * @return Builder
037     */
038
039    public ShoppingListSetTextLineItemDescriptionActionBuilder textLineItemId(final String textLineItemId) {
040        this.textLineItemId = textLineItemId;
041        return this;
042    }
043
044    /**
045     *  <p>Value to set. If empty, any existing value will be removed.</p>
046     * @param builder function to build the description value
047     * @return Builder
048     */
049
050    public ShoppingListSetTextLineItemDescriptionActionBuilder description(
051            Function<com.commercetools.api.models.common.LocalizedStringBuilder, com.commercetools.api.models.common.LocalizedStringBuilder> builder) {
052        this.description = builder.apply(com.commercetools.api.models.common.LocalizedStringBuilder.of()).build();
053        return this;
054    }
055
056    /**
057     *  <p>Value to set. If empty, any existing value will be removed.</p>
058     * @param builder function to build the description value
059     * @return Builder
060     */
061
062    public ShoppingListSetTextLineItemDescriptionActionBuilder withDescription(
063            Function<com.commercetools.api.models.common.LocalizedStringBuilder, com.commercetools.api.models.common.LocalizedString> builder) {
064        this.description = builder.apply(com.commercetools.api.models.common.LocalizedStringBuilder.of());
065        return this;
066    }
067
068    /**
069     *  <p>Value to set. If empty, any existing value will be removed.</p>
070     * @param description value to be set
071     * @return Builder
072     */
073
074    public ShoppingListSetTextLineItemDescriptionActionBuilder description(
075            @Nullable final com.commercetools.api.models.common.LocalizedString description) {
076        this.description = description;
077        return this;
078    }
079
080    /**
081     *  <p>The <code>id</code> of the TextLineItem to update.</p>
082     * @return textLineItemId
083     */
084
085    public String getTextLineItemId() {
086        return this.textLineItemId;
087    }
088
089    /**
090     *  <p>Value to set. If empty, any existing value will be removed.</p>
091     * @return description
092     */
093
094    @Nullable
095    public com.commercetools.api.models.common.LocalizedString getDescription() {
096        return this.description;
097    }
098
099    /**
100     * builds ShoppingListSetTextLineItemDescriptionAction with checking for non-null required values
101     * @return ShoppingListSetTextLineItemDescriptionAction
102     */
103    public ShoppingListSetTextLineItemDescriptionAction build() {
104        Objects.requireNonNull(textLineItemId,
105            ShoppingListSetTextLineItemDescriptionAction.class + ": textLineItemId is missing");
106        return new ShoppingListSetTextLineItemDescriptionActionImpl(textLineItemId, description);
107    }
108
109    /**
110     * builds ShoppingListSetTextLineItemDescriptionAction without checking for non-null required values
111     * @return ShoppingListSetTextLineItemDescriptionAction
112     */
113    public ShoppingListSetTextLineItemDescriptionAction buildUnchecked() {
114        return new ShoppingListSetTextLineItemDescriptionActionImpl(textLineItemId, description);
115    }
116
117    /**
118     * factory method for an instance of ShoppingListSetTextLineItemDescriptionActionBuilder
119     * @return builder
120     */
121    public static ShoppingListSetTextLineItemDescriptionActionBuilder of() {
122        return new ShoppingListSetTextLineItemDescriptionActionBuilder();
123    }
124
125    /**
126     * create builder for ShoppingListSetTextLineItemDescriptionAction instance
127     * @param template instance with prefilled values for the builder
128     * @return builder
129     */
130    public static ShoppingListSetTextLineItemDescriptionActionBuilder of(
131            final ShoppingListSetTextLineItemDescriptionAction template) {
132        ShoppingListSetTextLineItemDescriptionActionBuilder builder = new ShoppingListSetTextLineItemDescriptionActionBuilder();
133        builder.textLineItemId = template.getTextLineItemId();
134        builder.description = template.getDescription();
135        return builder;
136    }
137
138}