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}