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}