001 002package com.commercetools.api.models.error; 003 004import java.util.*; 005import java.util.function.Function; 006 007import io.vrap.rmf.base.client.Builder; 008import io.vrap.rmf.base.client.utils.Generated; 009 010/** 011 * ExtensionPredicateEvaluationFailedErrorBuilder 012 * <hr> 013 * Example to create an instance using the builder pattern 014 * <div class=code-example> 015 * <pre><code class='java'> 016 * ExtensionPredicateEvaluationFailedError extensionPredicateEvaluationFailedError = ExtensionPredicateEvaluationFailedError.builder() 017 * .message("{message}") 018 * .errorByExtension(errorByExtensionBuilder -> errorByExtensionBuilder) 019 * .build() 020 * </code></pre> 021 * </div> 022 */ 023@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen") 024public class ExtensionPredicateEvaluationFailedErrorBuilder 025 implements Builder<ExtensionPredicateEvaluationFailedError> { 026 027 private String message; 028 029 private Map<String, java.lang.Object> values = new HashMap<>(); 030 031 private com.commercetools.api.models.error.ErrorByExtension errorByExtension; 032 033 /** 034 * <p><code>"The compared field $fieldName is not present."</code></p> 035 * @param message value to be set 036 * @return Builder 037 */ 038 039 public ExtensionPredicateEvaluationFailedErrorBuilder message(final String message) { 040 this.message = message; 041 return this; 042 } 043 044 /** 045 * <p>Error-specific additional fields.</p> 046 * @param values properties to be set 047 * @return Builder 048 */ 049 050 public ExtensionPredicateEvaluationFailedErrorBuilder values(final Map<String, java.lang.Object> values) { 051 this.values = values; 052 return this; 053 } 054 055 /** 056 * <p>Error-specific additional fields.</p> 057 * @param key property name 058 * @param value property value 059 * @return Builder 060 */ 061 062 public ExtensionPredicateEvaluationFailedErrorBuilder addValue(final String key, final java.lang.Object value) { 063 if (this.values == null) { 064 values = new HashMap<>(); 065 } 066 values.put(key, value); 067 return this; 068 } 069 070 /** 071 * <p>Details about the API Extension that was involved in the error.</p> 072 * @param builder function to build the errorByExtension value 073 * @return Builder 074 */ 075 076 public ExtensionPredicateEvaluationFailedErrorBuilder errorByExtension( 077 Function<com.commercetools.api.models.error.ErrorByExtensionBuilder, com.commercetools.api.models.error.ErrorByExtensionBuilder> builder) { 078 this.errorByExtension = builder.apply(com.commercetools.api.models.error.ErrorByExtensionBuilder.of()).build(); 079 return this; 080 } 081 082 /** 083 * <p>Details about the API Extension that was involved in the error.</p> 084 * @param builder function to build the errorByExtension value 085 * @return Builder 086 */ 087 088 public ExtensionPredicateEvaluationFailedErrorBuilder withErrorByExtension( 089 Function<com.commercetools.api.models.error.ErrorByExtensionBuilder, com.commercetools.api.models.error.ErrorByExtension> builder) { 090 this.errorByExtension = builder.apply(com.commercetools.api.models.error.ErrorByExtensionBuilder.of()); 091 return this; 092 } 093 094 /** 095 * <p>Details about the API Extension that was involved in the error.</p> 096 * @param errorByExtension value to be set 097 * @return Builder 098 */ 099 100 public ExtensionPredicateEvaluationFailedErrorBuilder errorByExtension( 101 final com.commercetools.api.models.error.ErrorByExtension errorByExtension) { 102 this.errorByExtension = errorByExtension; 103 return this; 104 } 105 106 /** 107 * <p><code>"The compared field $fieldName is not present."</code></p> 108 * @return message 109 */ 110 111 public String getMessage() { 112 return this.message; 113 } 114 115 /** 116 * <p>Error-specific additional fields.</p> 117 * @return pattern properties 118 */ 119 120 public Map<String, java.lang.Object> getValues() { 121 return this.values; 122 } 123 124 /** 125 * <p>Details about the API Extension that was involved in the error.</p> 126 * @return errorByExtension 127 */ 128 129 public com.commercetools.api.models.error.ErrorByExtension getErrorByExtension() { 130 return this.errorByExtension; 131 } 132 133 /** 134 * builds ExtensionPredicateEvaluationFailedError with checking for non-null required values 135 * @return ExtensionPredicateEvaluationFailedError 136 */ 137 public ExtensionPredicateEvaluationFailedError build() { 138 Objects.requireNonNull(message, ExtensionPredicateEvaluationFailedError.class + ": message is missing"); 139 Objects.requireNonNull(errorByExtension, 140 ExtensionPredicateEvaluationFailedError.class + ": errorByExtension is missing"); 141 return new ExtensionPredicateEvaluationFailedErrorImpl(message, values, errorByExtension); 142 } 143 144 /** 145 * builds ExtensionPredicateEvaluationFailedError without checking for non-null required values 146 * @return ExtensionPredicateEvaluationFailedError 147 */ 148 public ExtensionPredicateEvaluationFailedError buildUnchecked() { 149 return new ExtensionPredicateEvaluationFailedErrorImpl(message, values, errorByExtension); 150 } 151 152 /** 153 * factory method for an instance of ExtensionPredicateEvaluationFailedErrorBuilder 154 * @return builder 155 */ 156 public static ExtensionPredicateEvaluationFailedErrorBuilder of() { 157 return new ExtensionPredicateEvaluationFailedErrorBuilder(); 158 } 159 160 /** 161 * create builder for ExtensionPredicateEvaluationFailedError instance 162 * @param template instance with prefilled values for the builder 163 * @return builder 164 */ 165 public static ExtensionPredicateEvaluationFailedErrorBuilder of( 166 final ExtensionPredicateEvaluationFailedError template) { 167 ExtensionPredicateEvaluationFailedErrorBuilder builder = new ExtensionPredicateEvaluationFailedErrorBuilder(); 168 builder.message = template.getMessage(); 169 builder.values = template.values(); 170 builder.errorByExtension = template.getErrorByExtension(); 171 return builder; 172 } 173 174}