001 002package com.commercetools.api.models.error; 003 004import java.util.*; 005 006import io.vrap.rmf.base.client.Builder; 007import io.vrap.rmf.base.client.utils.Generated; 008 009/** 010 * InvalidItemShippingDetailsErrorBuilder 011 * <hr> 012 * Example to create an instance using the builder pattern 013 * <div class=code-example> 014 * <pre><code class='java'> 015 * InvalidItemShippingDetailsError invalidItemShippingDetailsError = InvalidItemShippingDetailsError.builder() 016 * .message("{message}") 017 * .subject("{subject}") 018 * .itemId("{itemId}") 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 InvalidItemShippingDetailsErrorBuilder implements Builder<InvalidItemShippingDetailsError> { 025 026 private String message; 027 028 private Map<String, java.lang.Object> values = new HashMap<>(); 029 030 private String subject; 031 032 private String itemId; 033 034 /** 035 * <p><code>"Inconsistent shipping details for $subject with ID $itemId. $subject quantity is $itemQuantity and shippingTargets quantity sum is $quantitySum."</code></p> 036 * @param message value to be set 037 * @return Builder 038 */ 039 040 public InvalidItemShippingDetailsErrorBuilder message(final String message) { 041 this.message = message; 042 return this; 043 } 044 045 /** 046 * <p>Error-specific additional fields.</p> 047 * @param values properties to be set 048 * @return Builder 049 */ 050 051 public InvalidItemShippingDetailsErrorBuilder values(final Map<String, java.lang.Object> values) { 052 this.values = values; 053 return this; 054 } 055 056 /** 057 * <p>Error-specific additional fields.</p> 058 * @param key property name 059 * @param value property value 060 * @return Builder 061 */ 062 063 public InvalidItemShippingDetailsErrorBuilder addValue(final String key, final java.lang.Object value) { 064 if (this.values == null) { 065 values = new HashMap<>(); 066 } 067 values.put(key, value); 068 return this; 069 } 070 071 /** 072 * <p><code>"LineItem"</code> or <code>"CustomLineItem"</code></p> 073 * @param subject value to be set 074 * @return Builder 075 */ 076 077 public InvalidItemShippingDetailsErrorBuilder subject(final String subject) { 078 this.subject = subject; 079 return this; 080 } 081 082 /** 083 * <p>Unique identifier of the Line Item or Custom Line Item.</p> 084 * @param itemId value to be set 085 * @return Builder 086 */ 087 088 public InvalidItemShippingDetailsErrorBuilder itemId(final String itemId) { 089 this.itemId = itemId; 090 return this; 091 } 092 093 /** 094 * <p><code>"Inconsistent shipping details for $subject with ID $itemId. $subject quantity is $itemQuantity and shippingTargets quantity sum is $quantitySum."</code></p> 095 * @return message 096 */ 097 098 public String getMessage() { 099 return this.message; 100 } 101 102 /** 103 * <p>Error-specific additional fields.</p> 104 * @return pattern properties 105 */ 106 107 public Map<String, java.lang.Object> getValues() { 108 return this.values; 109 } 110 111 /** 112 * <p><code>"LineItem"</code> or <code>"CustomLineItem"</code></p> 113 * @return subject 114 */ 115 116 public String getSubject() { 117 return this.subject; 118 } 119 120 /** 121 * <p>Unique identifier of the Line Item or Custom Line Item.</p> 122 * @return itemId 123 */ 124 125 public String getItemId() { 126 return this.itemId; 127 } 128 129 /** 130 * builds InvalidItemShippingDetailsError with checking for non-null required values 131 * @return InvalidItemShippingDetailsError 132 */ 133 public InvalidItemShippingDetailsError build() { 134 Objects.requireNonNull(message, InvalidItemShippingDetailsError.class + ": message is missing"); 135 Objects.requireNonNull(subject, InvalidItemShippingDetailsError.class + ": subject is missing"); 136 Objects.requireNonNull(itemId, InvalidItemShippingDetailsError.class + ": itemId is missing"); 137 return new InvalidItemShippingDetailsErrorImpl(message, values, subject, itemId); 138 } 139 140 /** 141 * builds InvalidItemShippingDetailsError without checking for non-null required values 142 * @return InvalidItemShippingDetailsError 143 */ 144 public InvalidItemShippingDetailsError buildUnchecked() { 145 return new InvalidItemShippingDetailsErrorImpl(message, values, subject, itemId); 146 } 147 148 /** 149 * factory method for an instance of InvalidItemShippingDetailsErrorBuilder 150 * @return builder 151 */ 152 public static InvalidItemShippingDetailsErrorBuilder of() { 153 return new InvalidItemShippingDetailsErrorBuilder(); 154 } 155 156 /** 157 * create builder for InvalidItemShippingDetailsError instance 158 * @param template instance with prefilled values for the builder 159 * @return builder 160 */ 161 public static InvalidItemShippingDetailsErrorBuilder of(final InvalidItemShippingDetailsError template) { 162 InvalidItemShippingDetailsErrorBuilder builder = new InvalidItemShippingDetailsErrorBuilder(); 163 builder.message = template.getMessage(); 164 builder.values = template.values(); 165 builder.subject = template.getSubject(); 166 builder.itemId = template.getItemId(); 167 return builder; 168 } 169 170}