001
002package com.commercetools.api.models.payment;
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 * PaymentSetTransactionCustomFieldActionBuilder
013 * <hr>
014 * Example to create an instance using the builder pattern
015 * <div class=code-example>
016 * <pre><code class='java'>
017 *     PaymentSetTransactionCustomFieldAction paymentSetTransactionCustomFieldAction = PaymentSetTransactionCustomFieldAction.builder()
018 *             .transactionId("{transactionId}")
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 PaymentSetTransactionCustomFieldActionBuilder implements Builder<PaymentSetTransactionCustomFieldAction> {
026
027    private String transactionId;
028
029    private String name;
030
031    @Nullable
032    private java.lang.Object value;
033
034    /**
035     *  <p>Unique identifier of the Transaction.</p>
036     * @param transactionId value to be set
037     * @return Builder
038     */
039
040    public PaymentSetTransactionCustomFieldActionBuilder transactionId(final String transactionId) {
041        this.transactionId = transactionId;
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 PaymentSetTransactionCustomFieldActionBuilder 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 PaymentSetTransactionCustomFieldActionBuilder value(@Nullable final java.lang.Object value) {
063        this.value = value;
064        return this;
065    }
066
067    /**
068     *  <p>Unique identifier of the Transaction.</p>
069     * @return transactionId
070     */
071
072    public String getTransactionId() {
073        return this.transactionId;
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 PaymentSetTransactionCustomFieldAction with checking for non-null required values
097     * @return PaymentSetTransactionCustomFieldAction
098     */
099    public PaymentSetTransactionCustomFieldAction build() {
100        Objects.requireNonNull(transactionId,
101            PaymentSetTransactionCustomFieldAction.class + ": transactionId is missing");
102        Objects.requireNonNull(name, PaymentSetTransactionCustomFieldAction.class + ": name is missing");
103        return new PaymentSetTransactionCustomFieldActionImpl(transactionId, name, value);
104    }
105
106    /**
107     * builds PaymentSetTransactionCustomFieldAction without checking for non-null required values
108     * @return PaymentSetTransactionCustomFieldAction
109     */
110    public PaymentSetTransactionCustomFieldAction buildUnchecked() {
111        return new PaymentSetTransactionCustomFieldActionImpl(transactionId, name, value);
112    }
113
114    /**
115     * factory method for an instance of PaymentSetTransactionCustomFieldActionBuilder
116     * @return builder
117     */
118    public static PaymentSetTransactionCustomFieldActionBuilder of() {
119        return new PaymentSetTransactionCustomFieldActionBuilder();
120    }
121
122    /**
123     * create builder for PaymentSetTransactionCustomFieldAction instance
124     * @param template instance with prefilled values for the builder
125     * @return builder
126     */
127    public static PaymentSetTransactionCustomFieldActionBuilder of(
128            final PaymentSetTransactionCustomFieldAction template) {
129        PaymentSetTransactionCustomFieldActionBuilder builder = new PaymentSetTransactionCustomFieldActionBuilder();
130        builder.transactionId = template.getTransactionId();
131        builder.name = template.getName();
132        builder.value = template.getValue();
133        return builder;
134    }
135
136}