001
002package com.commercetools.api.models.shopping_list;
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 * ShoppingListSetLineItemCustomFieldActionBuilder
013 * <hr>
014 * Example to create an instance using the builder pattern
015 * <div class=code-example>
016 * <pre><code class='java'>
017 *     ShoppingListSetLineItemCustomFieldAction shoppingListSetLineItemCustomFieldAction = ShoppingListSetLineItemCustomFieldAction.builder()
018 *             .lineItemId("{lineItemId}")
019 *             .name("{name}")
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 ShoppingListSetLineItemCustomFieldActionBuilder
026        implements Builder<ShoppingListSetLineItemCustomFieldAction> {
027
028    private String lineItemId;
029
030    private String name;
031
032    @Nullable
033    private java.lang.Object value;
034
035    /**
036     *  <p>The <code>id</code> of the ShoppingListLineItem to update.</p>
037     * @param lineItemId value to be set
038     * @return Builder
039     */
040
041    public ShoppingListSetLineItemCustomFieldActionBuilder lineItemId(final String lineItemId) {
042        this.lineItemId = lineItemId;
043        return this;
044    }
045
046    /**
047     *  <p>Name of the Custom Field.</p>
048     * @param name value to be set
049     * @return Builder
050     */
051
052    public ShoppingListSetLineItemCustomFieldActionBuilder name(final String name) {
053        this.name = name;
054        return this;
055    }
056
057    /**
058     *  <p>If <code>value</code> is absent or <code>null</code>, this field will be removed if it exists. Removing a field that does not exist returns an InvalidOperation error. If <code>value</code> is provided, it is set for the field defined by <code>name</code>.</p>
059     * @param value value to be set
060     * @return Builder
061     */
062
063    public ShoppingListSetLineItemCustomFieldActionBuilder value(@Nullable final java.lang.Object value) {
064        this.value = value;
065        return this;
066    }
067
068    /**
069     *  <p>The <code>id</code> of the ShoppingListLineItem to update.</p>
070     * @return lineItemId
071     */
072
073    public String getLineItemId() {
074        return this.lineItemId;
075    }
076
077    /**
078     *  <p>Name of the Custom Field.</p>
079     * @return name
080     */
081
082    public String getName() {
083        return this.name;
084    }
085
086    /**
087     *  <p>If <code>value</code> is absent or <code>null</code>, this field will be removed if it exists. Removing a field that does not exist returns an InvalidOperation error. If <code>value</code> is provided, it is set for the field defined by <code>name</code>.</p>
088     * @return value
089     */
090
091    @Nullable
092    public java.lang.Object getValue() {
093        return this.value;
094    }
095
096    /**
097     * builds ShoppingListSetLineItemCustomFieldAction with checking for non-null required values
098     * @return ShoppingListSetLineItemCustomFieldAction
099     */
100    public ShoppingListSetLineItemCustomFieldAction build() {
101        Objects.requireNonNull(lineItemId, ShoppingListSetLineItemCustomFieldAction.class + ": lineItemId is missing");
102        Objects.requireNonNull(name, ShoppingListSetLineItemCustomFieldAction.class + ": name is missing");
103        return new ShoppingListSetLineItemCustomFieldActionImpl(lineItemId, name, value);
104    }
105
106    /**
107     * builds ShoppingListSetLineItemCustomFieldAction without checking for non-null required values
108     * @return ShoppingListSetLineItemCustomFieldAction
109     */
110    public ShoppingListSetLineItemCustomFieldAction buildUnchecked() {
111        return new ShoppingListSetLineItemCustomFieldActionImpl(lineItemId, name, value);
112    }
113
114    /**
115     * factory method for an instance of ShoppingListSetLineItemCustomFieldActionBuilder
116     * @return builder
117     */
118    public static ShoppingListSetLineItemCustomFieldActionBuilder of() {
119        return new ShoppingListSetLineItemCustomFieldActionBuilder();
120    }
121
122    /**
123     * create builder for ShoppingListSetLineItemCustomFieldAction instance
124     * @param template instance with prefilled values for the builder
125     * @return builder
126     */
127    public static ShoppingListSetLineItemCustomFieldActionBuilder of(
128            final ShoppingListSetLineItemCustomFieldAction template) {
129        ShoppingListSetLineItemCustomFieldActionBuilder builder = new ShoppingListSetLineItemCustomFieldActionBuilder();
130        builder.lineItemId = template.getLineItemId();
131        builder.name = template.getName();
132        builder.value = template.getValue();
133        return builder;
134    }
135
136}