001 002package com.commercetools.ml.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 * 028 */ 029 030 public LocalizedStringBuilder values(final Map<String, String> values) { 031 this.values = values; 032 return this; 033 } 034 035 /** 036 * 037 */ 038 039 public LocalizedStringBuilder addValue(final String key, final String value) { 040 if (this.values == null) { 041 values = new HashMap<>(); 042 } 043 values.put(key, value); 044 return this; 045 } 046 047 public Map<String, String> getValues() { 048 return this.values; 049 } 050 051 public LocalizedString build() { 052 return new LocalizedStringImpl(values); 053 } 054 055 /** 056 * builds LocalizedString without checking for non null required values 057 */ 058 public LocalizedString buildUnchecked() { 059 return new LocalizedStringImpl(values); 060 } 061 062 public static LocalizedStringBuilder of() { 063 return new LocalizedStringBuilder(); 064 } 065 066 public static LocalizedStringBuilder of(final LocalizedString template) { 067 LocalizedStringBuilder builder = new LocalizedStringBuilder(); 068 builder.values = template.values(); 069 return builder; 070 } 071 072}