001
002package com.commercetools.api.models.product_discount;
003
004import java.util.*;
005
006import javax.annotation.Nullable;
007
008import io.vrap.rmf.base.client.Builder;
009import io.vrap.rmf.base.client.utils.Generated;
010
011/**
012 * ProductDiscountSetValidFromActionBuilder
013 * <hr>
014 * Example to create an instance using the builder pattern
015 * <div class=code-example>
016 * <pre><code class='java'>
017 *     ProductDiscountSetValidFromAction productDiscountSetValidFromAction = ProductDiscountSetValidFromAction.builder()
018 *             .build()
019 * </code></pre>
020 * </div>
021 */
022@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen")
023public class ProductDiscountSetValidFromActionBuilder implements Builder<ProductDiscountSetValidFromAction> {
024
025    @Nullable
026    private java.time.ZonedDateTime validFrom;
027
028    /**
029     *  <p>Value to set. If empty, any existing value will be removed. Take Eventual Consistency into account for calculated discount values.</p>
030     * @param validFrom value to be set
031     * @return Builder
032     */
033
034    public ProductDiscountSetValidFromActionBuilder validFrom(@Nullable final java.time.ZonedDateTime validFrom) {
035        this.validFrom = validFrom;
036        return this;
037    }
038
039    /**
040     *  <p>Value to set. If empty, any existing value will be removed. Take Eventual Consistency into account for calculated discount values.</p>
041     * @return validFrom
042     */
043
044    @Nullable
045    public java.time.ZonedDateTime getValidFrom() {
046        return this.validFrom;
047    }
048
049    /**
050     * builds ProductDiscountSetValidFromAction with checking for non-null required values
051     * @return ProductDiscountSetValidFromAction
052     */
053    public ProductDiscountSetValidFromAction build() {
054        return new ProductDiscountSetValidFromActionImpl(validFrom);
055    }
056
057    /**
058     * builds ProductDiscountSetValidFromAction without checking for non-null required values
059     * @return ProductDiscountSetValidFromAction
060     */
061    public ProductDiscountSetValidFromAction buildUnchecked() {
062        return new ProductDiscountSetValidFromActionImpl(validFrom);
063    }
064
065    /**
066     * factory method for an instance of ProductDiscountSetValidFromActionBuilder
067     * @return builder
068     */
069    public static ProductDiscountSetValidFromActionBuilder of() {
070        return new ProductDiscountSetValidFromActionBuilder();
071    }
072
073    /**
074     * create builder for ProductDiscountSetValidFromAction instance
075     * @param template instance with prefilled values for the builder
076     * @return builder
077     */
078    public static ProductDiscountSetValidFromActionBuilder of(final ProductDiscountSetValidFromAction template) {
079        ProductDiscountSetValidFromActionBuilder builder = new ProductDiscountSetValidFromActionBuilder();
080        builder.validFrom = template.getValidFrom();
081        return builder;
082    }
083
084}