001 002package com.commercetools.api.models.error; 003 004import java.util.*; 005import java.util.function.Function; 006 007import javax.annotation.Nullable; 008 009import io.vrap.rmf.base.client.Builder; 010import io.vrap.rmf.base.client.utils.Generated; 011 012/** 013 * GraphQLExtensionBadResponseErrorBuilder 014 * <hr> 015 * Example to create an instance using the builder pattern 016 * <div class=code-example> 017 * <pre><code class='java'> 018 * GraphQLExtensionBadResponseError graphQLExtensionBadResponseError = GraphQLExtensionBadResponseError.builder() 019 * .plusExtensionErrors(extensionErrorsBuilder -> extensionErrorsBuilder) 020 * .extensionId("{extensionId}") 021 * .build() 022 * </code></pre> 023 * </div> 024 */ 025@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen") 026public class GraphQLExtensionBadResponseErrorBuilder implements Builder<GraphQLExtensionBadResponseError> { 027 028 private Map<String, java.lang.Object> values = new HashMap<>(); 029 030 @Nullable 031 private com.commercetools.api.models.common.LocalizedString localizedMessage; 032 033 @Nullable 034 private java.lang.Object extensionExtraInfo; 035 036 private java.util.List<com.commercetools.api.models.error.ExtensionError> extensionErrors; 037 038 @Nullable 039 private String extensionBody; 040 041 @Nullable 042 private Integer extensionStatusCode; 043 044 private String extensionId; 045 046 @Nullable 047 private String extensionKey; 048 049 /** 050 * <p>Error-specific additional fields.</p> 051 * @param values properties to be set 052 * @return Builder 053 */ 054 055 public GraphQLExtensionBadResponseErrorBuilder 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 GraphQLExtensionBadResponseErrorBuilder 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>User-defined localized description of the error.</p> 077 * @param builder function to build the localizedMessage value 078 * @return Builder 079 */ 080 081 public GraphQLExtensionBadResponseErrorBuilder localizedMessage( 082 Function<com.commercetools.api.models.common.LocalizedStringBuilder, com.commercetools.api.models.common.LocalizedStringBuilder> builder) { 083 this.localizedMessage = builder.apply(com.commercetools.api.models.common.LocalizedStringBuilder.of()).build(); 084 return this; 085 } 086 087 /** 088 * <p>User-defined localized description of the error.</p> 089 * @param builder function to build the localizedMessage value 090 * @return Builder 091 */ 092 093 public GraphQLExtensionBadResponseErrorBuilder withLocalizedMessage( 094 Function<com.commercetools.api.models.common.LocalizedStringBuilder, com.commercetools.api.models.common.LocalizedString> builder) { 095 this.localizedMessage = builder.apply(com.commercetools.api.models.common.LocalizedStringBuilder.of()); 096 return this; 097 } 098 099 /** 100 * <p>User-defined localized description of the error.</p> 101 * @param localizedMessage value to be set 102 * @return Builder 103 */ 104 105 public GraphQLExtensionBadResponseErrorBuilder localizedMessage( 106 @Nullable final com.commercetools.api.models.common.LocalizedString localizedMessage) { 107 this.localizedMessage = localizedMessage; 108 return this; 109 } 110 111 /** 112 * <p>Any information that should be returned to the API caller.</p> 113 * @param extensionExtraInfo value to be set 114 * @return Builder 115 */ 116 117 public GraphQLExtensionBadResponseErrorBuilder extensionExtraInfo( 118 @Nullable final java.lang.Object extensionExtraInfo) { 119 this.extensionExtraInfo = extensionExtraInfo; 120 return this; 121 } 122 123 /** 124 * <p>Additional errors related to the API Extension.</p> 125 * @param extensionErrors value to be set 126 * @return Builder 127 */ 128 129 public GraphQLExtensionBadResponseErrorBuilder extensionErrors( 130 final com.commercetools.api.models.error.ExtensionError... extensionErrors) { 131 this.extensionErrors = new ArrayList<>(Arrays.asList(extensionErrors)); 132 return this; 133 } 134 135 /** 136 * <p>Additional errors related to the API Extension.</p> 137 * @param extensionErrors value to be set 138 * @return Builder 139 */ 140 141 public GraphQLExtensionBadResponseErrorBuilder extensionErrors( 142 final java.util.List<com.commercetools.api.models.error.ExtensionError> extensionErrors) { 143 this.extensionErrors = extensionErrors; 144 return this; 145 } 146 147 /** 148 * <p>Additional errors related to the API Extension.</p> 149 * @param extensionErrors value to be set 150 * @return Builder 151 */ 152 153 public GraphQLExtensionBadResponseErrorBuilder plusExtensionErrors( 154 final com.commercetools.api.models.error.ExtensionError... extensionErrors) { 155 if (this.extensionErrors == null) { 156 this.extensionErrors = new ArrayList<>(); 157 } 158 this.extensionErrors.addAll(Arrays.asList(extensionErrors)); 159 return this; 160 } 161 162 /** 163 * <p>Additional errors related to the API Extension.</p> 164 * @param builder function to build the extensionErrors value 165 * @return Builder 166 */ 167 168 public GraphQLExtensionBadResponseErrorBuilder plusExtensionErrors( 169 Function<com.commercetools.api.models.error.ExtensionErrorBuilder, com.commercetools.api.models.error.ExtensionErrorBuilder> builder) { 170 if (this.extensionErrors == null) { 171 this.extensionErrors = new ArrayList<>(); 172 } 173 this.extensionErrors.add(builder.apply(com.commercetools.api.models.error.ExtensionErrorBuilder.of()).build()); 174 return this; 175 } 176 177 /** 178 * <p>Additional errors related to the API Extension.</p> 179 * @param builder function to build the extensionErrors value 180 * @return Builder 181 */ 182 183 public GraphQLExtensionBadResponseErrorBuilder withExtensionErrors( 184 Function<com.commercetools.api.models.error.ExtensionErrorBuilder, com.commercetools.api.models.error.ExtensionErrorBuilder> builder) { 185 this.extensionErrors = new ArrayList<>(); 186 this.extensionErrors.add(builder.apply(com.commercetools.api.models.error.ExtensionErrorBuilder.of()).build()); 187 return this; 188 } 189 190 /** 191 * <p>Additional errors related to the API Extension.</p> 192 * @param builder function to build the extensionErrors value 193 * @return Builder 194 */ 195 196 public GraphQLExtensionBadResponseErrorBuilder addExtensionErrors( 197 Function<com.commercetools.api.models.error.ExtensionErrorBuilder, com.commercetools.api.models.error.ExtensionError> builder) { 198 return plusExtensionErrors(builder.apply(com.commercetools.api.models.error.ExtensionErrorBuilder.of())); 199 } 200 201 /** 202 * <p>Additional errors related to the API Extension.</p> 203 * @param builder function to build the extensionErrors value 204 * @return Builder 205 */ 206 207 public GraphQLExtensionBadResponseErrorBuilder setExtensionErrors( 208 Function<com.commercetools.api.models.error.ExtensionErrorBuilder, com.commercetools.api.models.error.ExtensionError> builder) { 209 return extensionErrors(builder.apply(com.commercetools.api.models.error.ExtensionErrorBuilder.of())); 210 } 211 212 /** 213 * <p>The response body returned by the Extension.</p> 214 * @param extensionBody value to be set 215 * @return Builder 216 */ 217 218 public GraphQLExtensionBadResponseErrorBuilder extensionBody(@Nullable final String extensionBody) { 219 this.extensionBody = extensionBody; 220 return this; 221 } 222 223 /** 224 * <p>Http status code returned by the Extension.</p> 225 * @param extensionStatusCode value to be set 226 * @return Builder 227 */ 228 229 public GraphQLExtensionBadResponseErrorBuilder extensionStatusCode(@Nullable final Integer extensionStatusCode) { 230 this.extensionStatusCode = extensionStatusCode; 231 return this; 232 } 233 234 /** 235 * <p>Unique identifier of the Extension.</p> 236 * @param extensionId value to be set 237 * @return Builder 238 */ 239 240 public GraphQLExtensionBadResponseErrorBuilder extensionId(final String extensionId) { 241 this.extensionId = extensionId; 242 return this; 243 } 244 245 /** 246 * <p>User-defined unique identifier of the Extension.</p> 247 * @param extensionKey value to be set 248 * @return Builder 249 */ 250 251 public GraphQLExtensionBadResponseErrorBuilder extensionKey(@Nullable final String extensionKey) { 252 this.extensionKey = extensionKey; 253 return this; 254 } 255 256 /** 257 * <p>Error-specific additional fields.</p> 258 * @return pattern properties 259 */ 260 261 public Map<String, java.lang.Object> getValues() { 262 return this.values; 263 } 264 265 /** 266 * <p>User-defined localized description of the error.</p> 267 * @return localizedMessage 268 */ 269 270 @Nullable 271 public com.commercetools.api.models.common.LocalizedString getLocalizedMessage() { 272 return this.localizedMessage; 273 } 274 275 /** 276 * <p>Any information that should be returned to the API caller.</p> 277 * @return extensionExtraInfo 278 */ 279 280 @Nullable 281 public java.lang.Object getExtensionExtraInfo() { 282 return this.extensionExtraInfo; 283 } 284 285 /** 286 * <p>Additional errors related to the API Extension.</p> 287 * @return extensionErrors 288 */ 289 290 public java.util.List<com.commercetools.api.models.error.ExtensionError> getExtensionErrors() { 291 return this.extensionErrors; 292 } 293 294 /** 295 * <p>The response body returned by the Extension.</p> 296 * @return extensionBody 297 */ 298 299 @Nullable 300 public String getExtensionBody() { 301 return this.extensionBody; 302 } 303 304 /** 305 * <p>Http status code returned by the Extension.</p> 306 * @return extensionStatusCode 307 */ 308 309 @Nullable 310 public Integer getExtensionStatusCode() { 311 return this.extensionStatusCode; 312 } 313 314 /** 315 * <p>Unique identifier of the Extension.</p> 316 * @return extensionId 317 */ 318 319 public String getExtensionId() { 320 return this.extensionId; 321 } 322 323 /** 324 * <p>User-defined unique identifier of the Extension.</p> 325 * @return extensionKey 326 */ 327 328 @Nullable 329 public String getExtensionKey() { 330 return this.extensionKey; 331 } 332 333 /** 334 * builds GraphQLExtensionBadResponseError with checking for non-null required values 335 * @return GraphQLExtensionBadResponseError 336 */ 337 public GraphQLExtensionBadResponseError build() { 338 Objects.requireNonNull(extensionErrors, 339 GraphQLExtensionBadResponseError.class + ": extensionErrors is missing"); 340 Objects.requireNonNull(extensionId, GraphQLExtensionBadResponseError.class + ": extensionId is missing"); 341 return new GraphQLExtensionBadResponseErrorImpl(values, localizedMessage, extensionExtraInfo, extensionErrors, 342 extensionBody, extensionStatusCode, extensionId, extensionKey); 343 } 344 345 /** 346 * builds GraphQLExtensionBadResponseError without checking for non-null required values 347 * @return GraphQLExtensionBadResponseError 348 */ 349 public GraphQLExtensionBadResponseError buildUnchecked() { 350 return new GraphQLExtensionBadResponseErrorImpl(values, localizedMessage, extensionExtraInfo, extensionErrors, 351 extensionBody, extensionStatusCode, extensionId, extensionKey); 352 } 353 354 /** 355 * factory method for an instance of GraphQLExtensionBadResponseErrorBuilder 356 * @return builder 357 */ 358 public static GraphQLExtensionBadResponseErrorBuilder of() { 359 return new GraphQLExtensionBadResponseErrorBuilder(); 360 } 361 362 /** 363 * create builder for GraphQLExtensionBadResponseError instance 364 * @param template instance with prefilled values for the builder 365 * @return builder 366 */ 367 public static GraphQLExtensionBadResponseErrorBuilder of(final GraphQLExtensionBadResponseError template) { 368 GraphQLExtensionBadResponseErrorBuilder builder = new GraphQLExtensionBadResponseErrorBuilder(); 369 builder.values = template.values(); 370 builder.localizedMessage = template.getLocalizedMessage(); 371 builder.extensionExtraInfo = template.getExtensionExtraInfo(); 372 builder.extensionErrors = template.getExtensionErrors(); 373 builder.extensionBody = template.getExtensionBody(); 374 builder.extensionStatusCode = template.getExtensionStatusCode(); 375 builder.extensionId = template.getExtensionId(); 376 builder.extensionKey = template.getExtensionKey(); 377 return builder; 378 } 379 380}