001 002package com.commercetools.importapi.models.types; 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 * CustomFieldLocalizedEnumValueBuilder 012 * <hr> 013 * Example to create an instance using the builder pattern 014 * <div class=code-example> 015 * <pre><code class='java'> 016 * CustomFieldLocalizedEnumValue customFieldLocalizedEnumValue = CustomFieldLocalizedEnumValue.builder() 017 * .key("{key}") 018 * .label(labelBuilder -> labelBuilder) 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 CustomFieldLocalizedEnumValueBuilder implements Builder<CustomFieldLocalizedEnumValue> { 025 026 private String key; 027 028 private com.commercetools.importapi.models.common.LocalizedString label; 029 030 /** 031 * <p>Key of the value used as a programmatic identifier.</p> 032 * @param key value to be set 033 * @return Builder 034 */ 035 036 public CustomFieldLocalizedEnumValueBuilder key(final String key) { 037 this.key = key; 038 return this; 039 } 040 041 /** 042 * <p>Descriptive localized label of the value.</p> 043 * @param builder function to build the label value 044 * @return Builder 045 */ 046 047 public CustomFieldLocalizedEnumValueBuilder label( 048 Function<com.commercetools.importapi.models.common.LocalizedStringBuilder, com.commercetools.importapi.models.common.LocalizedStringBuilder> builder) { 049 this.label = builder.apply(com.commercetools.importapi.models.common.LocalizedStringBuilder.of()).build(); 050 return this; 051 } 052 053 /** 054 * <p>Descriptive localized label of the value.</p> 055 * @param builder function to build the label value 056 * @return Builder 057 */ 058 059 public CustomFieldLocalizedEnumValueBuilder withLabel( 060 Function<com.commercetools.importapi.models.common.LocalizedStringBuilder, com.commercetools.importapi.models.common.LocalizedString> builder) { 061 this.label = builder.apply(com.commercetools.importapi.models.common.LocalizedStringBuilder.of()); 062 return this; 063 } 064 065 /** 066 * <p>Descriptive localized label of the value.</p> 067 * @param label value to be set 068 * @return Builder 069 */ 070 071 public CustomFieldLocalizedEnumValueBuilder label( 072 final com.commercetools.importapi.models.common.LocalizedString label) { 073 this.label = label; 074 return this; 075 } 076 077 /** 078 * <p>Key of the value used as a programmatic identifier.</p> 079 * @return key 080 */ 081 082 public String getKey() { 083 return this.key; 084 } 085 086 /** 087 * <p>Descriptive localized label of the value.</p> 088 * @return label 089 */ 090 091 public com.commercetools.importapi.models.common.LocalizedString getLabel() { 092 return this.label; 093 } 094 095 /** 096 * builds CustomFieldLocalizedEnumValue with checking for non-null required values 097 * @return CustomFieldLocalizedEnumValue 098 */ 099 public CustomFieldLocalizedEnumValue build() { 100 Objects.requireNonNull(key, CustomFieldLocalizedEnumValue.class + ": key is missing"); 101 Objects.requireNonNull(label, CustomFieldLocalizedEnumValue.class + ": label is missing"); 102 return new CustomFieldLocalizedEnumValueImpl(key, label); 103 } 104 105 /** 106 * builds CustomFieldLocalizedEnumValue without checking for non-null required values 107 * @return CustomFieldLocalizedEnumValue 108 */ 109 public CustomFieldLocalizedEnumValue buildUnchecked() { 110 return new CustomFieldLocalizedEnumValueImpl(key, label); 111 } 112 113 /** 114 * factory method for an instance of CustomFieldLocalizedEnumValueBuilder 115 * @return builder 116 */ 117 public static CustomFieldLocalizedEnumValueBuilder of() { 118 return new CustomFieldLocalizedEnumValueBuilder(); 119 } 120 121 /** 122 * create builder for CustomFieldLocalizedEnumValue instance 123 * @param template instance with prefilled values for the builder 124 * @return builder 125 */ 126 public static CustomFieldLocalizedEnumValueBuilder of(final CustomFieldLocalizedEnumValue template) { 127 CustomFieldLocalizedEnumValueBuilder builder = new CustomFieldLocalizedEnumValueBuilder(); 128 builder.key = template.getKey(); 129 builder.label = template.getLabel(); 130 return builder; 131 } 132 133}