001
002package com.commercetools.history.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 * CategoryOrderHintsBuilder
011 * <hr>
012 * Example to create an instance using the builder pattern
013 * <div class=code-example>
014 * <pre><code class='java'>
015 *     CategoryOrderHints categoryOrderHints = CategoryOrderHints.builder()
016 *             ./^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/("{/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/}")
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 CategoryOrderHintsBuilder implements Builder<CategoryOrderHints> {
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 CategoryOrderHintsBuilder 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 CategoryOrderHintsBuilder 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 CategoryOrderHints with checking for non-null required values
063     * @return CategoryOrderHints
064     */
065    public CategoryOrderHints build() {
066        return new CategoryOrderHintsImpl(values);
067    }
068
069    /**
070     * builds CategoryOrderHints without checking for non-null required values
071     * @return CategoryOrderHints
072     */
073    public CategoryOrderHints buildUnchecked() {
074        return new CategoryOrderHintsImpl(values);
075    }
076
077    /**
078     * factory method for an instance of CategoryOrderHintsBuilder
079     * @return builder
080     */
081    public static CategoryOrderHintsBuilder of() {
082        return new CategoryOrderHintsBuilder();
083    }
084
085    /**
086     * create builder for CategoryOrderHints instance
087     * @param template instance with prefilled values for the builder
088     * @return builder
089     */
090    public static CategoryOrderHintsBuilder of(final CategoryOrderHints template) {
091        CategoryOrderHintsBuilder builder = new CategoryOrderHintsBuilder();
092        builder.values = template.values();
093        return builder;
094    }
095
096}