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}