001
002package com.commercetools.api.models.error;
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 * InvalidFieldErrorBuilder
013 * <hr>
014 * Example to create an instance using the builder pattern
015 * <div class=code-example>
016 * <pre><code class='java'>
017 *     InvalidFieldError invalidFieldError = InvalidFieldError.builder()
018 *             .message("{message}")
019 *             .field("{field}")
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 InvalidFieldErrorBuilder implements Builder<InvalidFieldError> {
026
027    private String message;
028
029    private Map<String, java.lang.Object> values = new HashMap<>();
030
031    private String field;
032
033    private java.lang.Object invalidValue;
034
035    @Nullable
036    private java.util.List<java.lang.Object> allowedValues;
037
038    /**
039     *  <p><code>"The value $invalidValue is not valid for field $field."</code></p>
040     * @param message value to be set
041     * @return Builder
042     */
043
044    public InvalidFieldErrorBuilder message(final String message) {
045        this.message = message;
046        return this;
047    }
048
049    /**
050     *  <p>Error-specific additional fields.</p>
051     * @param values properties to be set
052     * @return Builder
053     */
054
055    public InvalidFieldErrorBuilder values(final Map<String, java.lang.Object> values) {
056        this.values = values;
057        return this;
058    }
059
060    /**
061     *  <p>Error-specific additional fields.</p>
062     * @param key property name
063     * @param value property value
064     * @return Builder
065     */
066
067    public InvalidFieldErrorBuilder addValue(final String key, final java.lang.Object value) {
068        if (this.values == null) {
069            values = new HashMap<>();
070        }
071        values.put(key, value);
072        return this;
073    }
074
075    /**
076     *  <p>Name of the field with the invalid value.</p>
077     * @param field value to be set
078     * @return Builder
079     */
080
081    public InvalidFieldErrorBuilder field(final String field) {
082        this.field = field;
083        return this;
084    }
085
086    /**
087     *  <p>Value invalid for the field.</p>
088     * @param invalidValue value to be set
089     * @return Builder
090     */
091
092    public InvalidFieldErrorBuilder invalidValue(final java.lang.Object invalidValue) {
093        this.invalidValue = invalidValue;
094        return this;
095    }
096
097    /**
098     *  <p>Fixed set of allowed values for the field, if any.</p>
099     * @param allowedValues value to be set
100     * @return Builder
101     */
102
103    public InvalidFieldErrorBuilder allowedValues(@Nullable final java.lang.Object... allowedValues) {
104        this.allowedValues = new ArrayList<>(Arrays.asList(allowedValues));
105        return this;
106    }
107
108    /**
109     *  <p>Fixed set of allowed values for the field, if any.</p>
110     * @param allowedValues value to be set
111     * @return Builder
112     */
113
114    public InvalidFieldErrorBuilder allowedValues(@Nullable final java.util.List<java.lang.Object> allowedValues) {
115        this.allowedValues = allowedValues;
116        return this;
117    }
118
119    /**
120     *  <p>Fixed set of allowed values for the field, if any.</p>
121     * @param allowedValues value to be set
122     * @return Builder
123     */
124
125    public InvalidFieldErrorBuilder plusAllowedValues(@Nullable final java.lang.Object... allowedValues) {
126        if (this.allowedValues == null) {
127            this.allowedValues = new ArrayList<>();
128        }
129        this.allowedValues.addAll(Arrays.asList(allowedValues));
130        return this;
131    }
132
133    /**
134     *  <p><code>"The value $invalidValue is not valid for field $field."</code></p>
135     * @return message
136     */
137
138    public String getMessage() {
139        return this.message;
140    }
141
142    /**
143     *  <p>Error-specific additional fields.</p>
144     * @return pattern properties
145     */
146
147    public Map<String, java.lang.Object> getValues() {
148        return this.values;
149    }
150
151    /**
152     *  <p>Name of the field with the invalid value.</p>
153     * @return field
154     */
155
156    public String getField() {
157        return this.field;
158    }
159
160    /**
161     *  <p>Value invalid for the field.</p>
162     * @return invalidValue
163     */
164
165    public java.lang.Object getInvalidValue() {
166        return this.invalidValue;
167    }
168
169    /**
170     *  <p>Fixed set of allowed values for the field, if any.</p>
171     * @return allowedValues
172     */
173
174    @Nullable
175    public java.util.List<java.lang.Object> getAllowedValues() {
176        return this.allowedValues;
177    }
178
179    /**
180     * builds InvalidFieldError with checking for non-null required values
181     * @return InvalidFieldError
182     */
183    public InvalidFieldError build() {
184        Objects.requireNonNull(message, InvalidFieldError.class + ": message is missing");
185        Objects.requireNonNull(field, InvalidFieldError.class + ": field is missing");
186        Objects.requireNonNull(invalidValue, InvalidFieldError.class + ": invalidValue is missing");
187        return new InvalidFieldErrorImpl(message, values, field, invalidValue, allowedValues);
188    }
189
190    /**
191     * builds InvalidFieldError without checking for non-null required values
192     * @return InvalidFieldError
193     */
194    public InvalidFieldError buildUnchecked() {
195        return new InvalidFieldErrorImpl(message, values, field, invalidValue, allowedValues);
196    }
197
198    /**
199     * factory method for an instance of InvalidFieldErrorBuilder
200     * @return builder
201     */
202    public static InvalidFieldErrorBuilder of() {
203        return new InvalidFieldErrorBuilder();
204    }
205
206    /**
207     * create builder for InvalidFieldError instance
208     * @param template instance with prefilled values for the builder
209     * @return builder
210     */
211    public static InvalidFieldErrorBuilder of(final InvalidFieldError template) {
212        InvalidFieldErrorBuilder builder = new InvalidFieldErrorBuilder();
213        builder.message = template.getMessage();
214        builder.values = template.values();
215        builder.field = template.getField();
216        builder.invalidValue = template.getInvalidValue();
217        builder.allowedValues = template.getAllowedValues();
218        return builder;
219    }
220
221}