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