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 * ExtensionUpdateActionsFailedErrorBuilder 014 * <hr> 015 * Example to create an instance using the builder pattern 016 * <div class=code-example> 017 * <pre><code class='java'> 018 * ExtensionUpdateActionsFailedError extensionUpdateActionsFailedError = ExtensionUpdateActionsFailedError.builder() 019 * .message("{message}") 020 * .plusExtensionErrors(extensionErrorsBuilder -> extensionErrorsBuilder) 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 ExtensionUpdateActionsFailedErrorBuilder implements Builder<ExtensionUpdateActionsFailedError> { 027 028 private String message; 029 030 private Map<String, java.lang.Object> values = new HashMap<>(); 031 032 @Nullable 033 private com.commercetools.api.models.common.LocalizedString localizedMessage; 034 035 @Nullable 036 private java.lang.Object extensionExtraInfo; 037 038 private java.util.List<com.commercetools.api.models.error.ExtensionError> extensionErrors; 039 040 /** 041 * <p><code>"The extension returned update actions that could not be executed."</code></p> 042 * @param message value to be set 043 * @return Builder 044 */ 045 046 public ExtensionUpdateActionsFailedErrorBuilder message(final String message) { 047 this.message = message; 048 return this; 049 } 050 051 /** 052 * <p>Error-specific additional fields.</p> 053 * @param values properties to be set 054 * @return Builder 055 */ 056 057 public ExtensionUpdateActionsFailedErrorBuilder values(final Map<String, java.lang.Object> values) { 058 this.values = values; 059 return this; 060 } 061 062 /** 063 * <p>Error-specific additional fields.</p> 064 * @param key property name 065 * @param value property value 066 * @return Builder 067 */ 068 069 public ExtensionUpdateActionsFailedErrorBuilder addValue(final String key, final java.lang.Object value) { 070 if (this.values == null) { 071 values = new HashMap<>(); 072 } 073 values.put(key, value); 074 return this; 075 } 076 077 /** 078 * <p>User-defined localized description of the error.</p> 079 * @param builder function to build the localizedMessage value 080 * @return Builder 081 */ 082 083 public ExtensionUpdateActionsFailedErrorBuilder localizedMessage( 084 Function<com.commercetools.api.models.common.LocalizedStringBuilder, com.commercetools.api.models.common.LocalizedStringBuilder> builder) { 085 this.localizedMessage = builder.apply(com.commercetools.api.models.common.LocalizedStringBuilder.of()).build(); 086 return this; 087 } 088 089 /** 090 * <p>User-defined localized description of the error.</p> 091 * @param builder function to build the localizedMessage value 092 * @return Builder 093 */ 094 095 public ExtensionUpdateActionsFailedErrorBuilder withLocalizedMessage( 096 Function<com.commercetools.api.models.common.LocalizedStringBuilder, com.commercetools.api.models.common.LocalizedString> builder) { 097 this.localizedMessage = builder.apply(com.commercetools.api.models.common.LocalizedStringBuilder.of()); 098 return this; 099 } 100 101 /** 102 * <p>User-defined localized description of the error.</p> 103 * @param localizedMessage value to be set 104 * @return Builder 105 */ 106 107 public ExtensionUpdateActionsFailedErrorBuilder localizedMessage( 108 @Nullable final com.commercetools.api.models.common.LocalizedString localizedMessage) { 109 this.localizedMessage = localizedMessage; 110 return this; 111 } 112 113 /** 114 * <p>Any information that should be returned to the API caller.</p> 115 * @param extensionExtraInfo value to be set 116 * @return Builder 117 */ 118 119 public ExtensionUpdateActionsFailedErrorBuilder extensionExtraInfo( 120 @Nullable final java.lang.Object extensionExtraInfo) { 121 this.extensionExtraInfo = extensionExtraInfo; 122 return this; 123 } 124 125 /** 126 * <p>Additional errors related to the API Extension.</p> 127 * @param extensionErrors value to be set 128 * @return Builder 129 */ 130 131 public ExtensionUpdateActionsFailedErrorBuilder extensionErrors( 132 final com.commercetools.api.models.error.ExtensionError... extensionErrors) { 133 this.extensionErrors = new ArrayList<>(Arrays.asList(extensionErrors)); 134 return this; 135 } 136 137 /** 138 * <p>Additional errors related to the API Extension.</p> 139 * @param extensionErrors value to be set 140 * @return Builder 141 */ 142 143 public ExtensionUpdateActionsFailedErrorBuilder extensionErrors( 144 final java.util.List<com.commercetools.api.models.error.ExtensionError> extensionErrors) { 145 this.extensionErrors = extensionErrors; 146 return this; 147 } 148 149 /** 150 * <p>Additional errors related to the API Extension.</p> 151 * @param extensionErrors value to be set 152 * @return Builder 153 */ 154 155 public ExtensionUpdateActionsFailedErrorBuilder plusExtensionErrors( 156 final com.commercetools.api.models.error.ExtensionError... extensionErrors) { 157 if (this.extensionErrors == null) { 158 this.extensionErrors = new ArrayList<>(); 159 } 160 this.extensionErrors.addAll(Arrays.asList(extensionErrors)); 161 return this; 162 } 163 164 /** 165 * <p>Additional errors related to the API Extension.</p> 166 * @param builder function to build the extensionErrors value 167 * @return Builder 168 */ 169 170 public ExtensionUpdateActionsFailedErrorBuilder plusExtensionErrors( 171 Function<com.commercetools.api.models.error.ExtensionErrorBuilder, com.commercetools.api.models.error.ExtensionErrorBuilder> builder) { 172 if (this.extensionErrors == null) { 173 this.extensionErrors = new ArrayList<>(); 174 } 175 this.extensionErrors.add(builder.apply(com.commercetools.api.models.error.ExtensionErrorBuilder.of()).build()); 176 return this; 177 } 178 179 /** 180 * <p>Additional errors related to the API Extension.</p> 181 * @param builder function to build the extensionErrors value 182 * @return Builder 183 */ 184 185 public ExtensionUpdateActionsFailedErrorBuilder withExtensionErrors( 186 Function<com.commercetools.api.models.error.ExtensionErrorBuilder, com.commercetools.api.models.error.ExtensionErrorBuilder> builder) { 187 this.extensionErrors = new ArrayList<>(); 188 this.extensionErrors.add(builder.apply(com.commercetools.api.models.error.ExtensionErrorBuilder.of()).build()); 189 return this; 190 } 191 192 /** 193 * <p>Additional errors related to the API Extension.</p> 194 * @param builder function to build the extensionErrors value 195 * @return Builder 196 */ 197 198 public ExtensionUpdateActionsFailedErrorBuilder addExtensionErrors( 199 Function<com.commercetools.api.models.error.ExtensionErrorBuilder, com.commercetools.api.models.error.ExtensionError> builder) { 200 return plusExtensionErrors(builder.apply(com.commercetools.api.models.error.ExtensionErrorBuilder.of())); 201 } 202 203 /** 204 * <p>Additional errors related to the API Extension.</p> 205 * @param builder function to build the extensionErrors value 206 * @return Builder 207 */ 208 209 public ExtensionUpdateActionsFailedErrorBuilder setExtensionErrors( 210 Function<com.commercetools.api.models.error.ExtensionErrorBuilder, com.commercetools.api.models.error.ExtensionError> builder) { 211 return extensionErrors(builder.apply(com.commercetools.api.models.error.ExtensionErrorBuilder.of())); 212 } 213 214 /** 215 * <p><code>"The extension returned update actions that could not be executed."</code></p> 216 * @return message 217 */ 218 219 public String getMessage() { 220 return this.message; 221 } 222 223 /** 224 * <p>Error-specific additional fields.</p> 225 * @return pattern properties 226 */ 227 228 public Map<String, java.lang.Object> getValues() { 229 return this.values; 230 } 231 232 /** 233 * <p>User-defined localized description of the error.</p> 234 * @return localizedMessage 235 */ 236 237 @Nullable 238 public com.commercetools.api.models.common.LocalizedString getLocalizedMessage() { 239 return this.localizedMessage; 240 } 241 242 /** 243 * <p>Any information that should be returned to the API caller.</p> 244 * @return extensionExtraInfo 245 */ 246 247 @Nullable 248 public java.lang.Object getExtensionExtraInfo() { 249 return this.extensionExtraInfo; 250 } 251 252 /** 253 * <p>Additional errors related to the API Extension.</p> 254 * @return extensionErrors 255 */ 256 257 public java.util.List<com.commercetools.api.models.error.ExtensionError> getExtensionErrors() { 258 return this.extensionErrors; 259 } 260 261 /** 262 * builds ExtensionUpdateActionsFailedError with checking for non-null required values 263 * @return ExtensionUpdateActionsFailedError 264 */ 265 public ExtensionUpdateActionsFailedError build() { 266 Objects.requireNonNull(message, ExtensionUpdateActionsFailedError.class + ": message is missing"); 267 Objects.requireNonNull(extensionErrors, 268 ExtensionUpdateActionsFailedError.class + ": extensionErrors is missing"); 269 return new ExtensionUpdateActionsFailedErrorImpl(message, values, localizedMessage, extensionExtraInfo, 270 extensionErrors); 271 } 272 273 /** 274 * builds ExtensionUpdateActionsFailedError without checking for non-null required values 275 * @return ExtensionUpdateActionsFailedError 276 */ 277 public ExtensionUpdateActionsFailedError buildUnchecked() { 278 return new ExtensionUpdateActionsFailedErrorImpl(message, values, localizedMessage, extensionExtraInfo, 279 extensionErrors); 280 } 281 282 /** 283 * factory method for an instance of ExtensionUpdateActionsFailedErrorBuilder 284 * @return builder 285 */ 286 public static ExtensionUpdateActionsFailedErrorBuilder of() { 287 return new ExtensionUpdateActionsFailedErrorBuilder(); 288 } 289 290 /** 291 * create builder for ExtensionUpdateActionsFailedError instance 292 * @param template instance with prefilled values for the builder 293 * @return builder 294 */ 295 public static ExtensionUpdateActionsFailedErrorBuilder of(final ExtensionUpdateActionsFailedError template) { 296 ExtensionUpdateActionsFailedErrorBuilder builder = new ExtensionUpdateActionsFailedErrorBuilder(); 297 builder.message = template.getMessage(); 298 builder.values = template.values(); 299 builder.localizedMessage = template.getLocalizedMessage(); 300 builder.extensionExtraInfo = template.getExtensionExtraInfo(); 301 builder.extensionErrors = template.getExtensionErrors(); 302 return builder; 303 } 304 305}