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 * CategoryReferenceBuilder
011 * <hr>
012 * Example to create an instance using the builder pattern
013 * <div class=code-example>
014 * <pre><code class='java'>
015 *     CategoryReference categoryReference = CategoryReference.builder()
016 *             .id("{id}")
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 CategoryReferenceBuilder implements Builder<CategoryReference> {
023
024    private String id;
025
026    /**
027     *
028     */
029
030    public CategoryReferenceBuilder id(final String id) {
031        this.id = id;
032        return this;
033    }
034
035    public String getId() {
036        return this.id;
037    }
038
039    public CategoryReference build() {
040        Objects.requireNonNull(id, CategoryReference.class + ": id is missing");
041        return new CategoryReferenceImpl(id);
042    }
043
044    /**
045     * builds CategoryReference without checking for non null required values
046     */
047    public CategoryReference buildUnchecked() {
048        return new CategoryReferenceImpl(id);
049    }
050
051    public static CategoryReferenceBuilder of() {
052        return new CategoryReferenceBuilder();
053    }
054
055    public static CategoryReferenceBuilder of(final CategoryReference template) {
056        CategoryReferenceBuilder builder = new CategoryReferenceBuilder();
057        builder.id = template.getId();
058        return builder;
059    }
060
061}