001 002package com.commercetools.importapi.models.customfields; 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 * LocalizedStringFieldBuilder 012 * <hr> 013 * Example to create an instance using the builder pattern 014 * <div class=code-example> 015 * <pre><code class='java'> 016 * LocalizedStringField localizedStringField = LocalizedStringField.builder() 017 * .value(valueBuilder -> valueBuilder) 018 * .build() 019 * </code></pre> 020 * </div> 021 */ 022@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen") 023public class LocalizedStringFieldBuilder implements Builder<LocalizedStringField> { 024 025 private com.commercetools.importapi.models.common.LocalizedString value; 026 027 /** 028 * <p>A localized string is a JSON object where the keys are of IETF language tag, and the values the corresponding strings used for that language.</p> 029 * <pre><code>{ 030 * "de": "Hundefutter", 031 * "en": "dog food" 032 * } 033 * </code></pre> 034 * @param builder function to build the value value 035 * @return Builder 036 */ 037 038 public LocalizedStringFieldBuilder value( 039 Function<com.commercetools.importapi.models.common.LocalizedStringBuilder, com.commercetools.importapi.models.common.LocalizedStringBuilder> builder) { 040 this.value = builder.apply(com.commercetools.importapi.models.common.LocalizedStringBuilder.of()).build(); 041 return this; 042 } 043 044 /** 045 * <p>A localized string is a JSON object where the keys are of IETF language tag, and the values the corresponding strings used for that language.</p> 046 * <pre><code>{ 047 * "de": "Hundefutter", 048 * "en": "dog food" 049 * } 050 * </code></pre> 051 * @param builder function to build the value value 052 * @return Builder 053 */ 054 055 public LocalizedStringFieldBuilder withValue( 056 Function<com.commercetools.importapi.models.common.LocalizedStringBuilder, com.commercetools.importapi.models.common.LocalizedString> builder) { 057 this.value = builder.apply(com.commercetools.importapi.models.common.LocalizedStringBuilder.of()); 058 return this; 059 } 060 061 /** 062 * <p>A localized string is a JSON object where the keys are of IETF language tag, and the values the corresponding strings used for that language.</p> 063 * <pre><code>{ 064 * "de": "Hundefutter", 065 * "en": "dog food" 066 * } 067 * </code></pre> 068 * @param value value to be set 069 * @return Builder 070 */ 071 072 public LocalizedStringFieldBuilder value(final com.commercetools.importapi.models.common.LocalizedString value) { 073 this.value = value; 074 return this; 075 } 076 077 /** 078 * <p>A localized string is a JSON object where the keys are of IETF language tag, and the values the corresponding strings used for that language.</p> 079 * <pre><code>{ 080 * "de": "Hundefutter", 081 * "en": "dog food" 082 * } 083 * </code></pre> 084 * @return value 085 */ 086 087 public com.commercetools.importapi.models.common.LocalizedString getValue() { 088 return this.value; 089 } 090 091 /** 092 * builds LocalizedStringField with checking for non-null required values 093 * @return LocalizedStringField 094 */ 095 public LocalizedStringField build() { 096 Objects.requireNonNull(value, LocalizedStringField.class + ": value is missing"); 097 return new LocalizedStringFieldImpl(value); 098 } 099 100 /** 101 * builds LocalizedStringField without checking for non-null required values 102 * @return LocalizedStringField 103 */ 104 public LocalizedStringField buildUnchecked() { 105 return new LocalizedStringFieldImpl(value); 106 } 107 108 /** 109 * factory method for an instance of LocalizedStringFieldBuilder 110 * @return builder 111 */ 112 public static LocalizedStringFieldBuilder of() { 113 return new LocalizedStringFieldBuilder(); 114 } 115 116 /** 117 * create builder for LocalizedStringField instance 118 * @param template instance with prefilled values for the builder 119 * @return builder 120 */ 121 public static LocalizedStringFieldBuilder of(final LocalizedStringField template) { 122 LocalizedStringFieldBuilder builder = new LocalizedStringFieldBuilder(); 123 builder.value = template.getValue(); 124 return builder; 125 } 126 127}