001 002package com.commercetools.importapi.models.common; 003 004import java.util.*; 005 006import io.vrap.rmf.base.client.Builder; 007import io.vrap.rmf.base.client.utils.Generated; 008 009/** 010 * LocalizedStringBuilder 011 * <hr> 012 * Example to create an instance using the builder pattern 013 * <div class=code-example> 014 * <pre><code class='java'> 015 * LocalizedString localizedString = LocalizedString.builder() 016 * ./^[a-z]{2}(-[A-Z]{2})?$/("{/^[a-z]{2}(-[A-Z]{2})?$/}") 017 * .build() 018 * </code></pre> 019 * </div> 020 */ 021@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen") 022public class LocalizedStringBuilder implements Builder<LocalizedString> { 023 024 private Map<String, String> values = new HashMap<>(); 025 026 /** 027 * assign pattern properties to the builder 028 * @param values properties to be set 029 * @return Builder 030 */ 031 032 public LocalizedStringBuilder values(final Map<String, String> values) { 033 this.values = values; 034 return this; 035 } 036 037 /** 038 * assign a pattern property to the builder 039 * @param key property name 040 * @param value property value 041 * @return Builder 042 */ 043 044 public LocalizedStringBuilder addValue(final String key, final String value) { 045 if (this.values == null) { 046 values = new HashMap<>(); 047 } 048 values.put(key, value); 049 return this; 050 } 051 052 /** 053 * values of pattern properties 054 * @return pattern properties 055 */ 056 057 public Map<String, String> getValues() { 058 return this.values; 059 } 060 061 /** 062 * builds LocalizedString with checking for non-null required values 063 * @return LocalizedString 064 */ 065 public LocalizedString build() { 066 return new LocalizedStringImpl(values); 067 } 068 069 /** 070 * builds LocalizedString without checking for non-null required values 071 * @return LocalizedString 072 */ 073 public LocalizedString buildUnchecked() { 074 return new LocalizedStringImpl(values); 075 } 076 077 /** 078 * factory method for an instance of LocalizedStringBuilder 079 * @return builder 080 */ 081 public static LocalizedStringBuilder of() { 082 return new LocalizedStringBuilder(); 083 } 084 085 /** 086 * create builder for LocalizedString instance 087 * @param template instance with prefilled values for the builder 088 * @return builder 089 */ 090 public static LocalizedStringBuilder of(final LocalizedString template) { 091 LocalizedStringBuilder builder = new LocalizedStringBuilder(); 092 builder.values = template.values(); 093 return builder; 094 } 095 096}