All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.commercetools.history.models.change_value.ChangeTargetMultiBuyLineItemsChangeValueBuilder Maven / Gradle / Ivy

There is a newer version: 17.15.1
Show newest version

package com.commercetools.history.models.change_value;

import java.util.*;

import io.vrap.rmf.base.client.Builder;
import io.vrap.rmf.base.client.utils.Generated;

/**
 * ChangeTargetMultiBuyLineItemsChangeValueBuilder
 * 
* Example to create an instance using the builder pattern *
*

 *     ChangeTargetMultiBuyLineItemsChangeValue changeTargetMultiBuyLineItemsChangeValue = ChangeTargetMultiBuyLineItemsChangeValue.builder()
 *             .predicate("{predicate}")
 *             .triggerQuantity(1)
 *             .discountedQuantity(1)
 *             .maxOccurrence(1)
 *             .selectionMode(SelectionMode.CHEAPEST)
 *             .build()
 * 
*
*/ @Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen") public class ChangeTargetMultiBuyLineItemsChangeValueBuilder implements Builder { private String predicate; private Integer triggerQuantity; private Integer discountedQuantity; private Integer maxOccurrence; private com.commercetools.history.models.common.SelectionMode selectionMode; /** *

Valid LineItem target predicate.

* @param predicate value to be set * @return Builder */ public ChangeTargetMultiBuyLineItemsChangeValueBuilder predicate(final String predicate) { this.predicate = predicate; return this; } /** *

Quantity of Line Items that triggered the application of the discount.

* @param triggerQuantity value to be set * @return Builder */ public ChangeTargetMultiBuyLineItemsChangeValueBuilder triggerQuantity(final Integer triggerQuantity) { this.triggerQuantity = triggerQuantity; return this; } /** *

Quantity of Line Items discounted per application of this discount.

* @param discountedQuantity value to be set * @return Builder */ public ChangeTargetMultiBuyLineItemsChangeValueBuilder discountedQuantity(final Integer discountedQuantity) { this.discountedQuantity = discountedQuantity; return this; } /** *

Maximum number of times the discount is applicable.

* @param maxOccurrence value to be set * @return Builder */ public ChangeTargetMultiBuyLineItemsChangeValueBuilder maxOccurrence(final Integer maxOccurrence) { this.maxOccurrence = maxOccurrence; return this; } /** *

SelectionMode based on which particular Line Items were discounted.

* @param selectionMode value to be set * @return Builder */ public ChangeTargetMultiBuyLineItemsChangeValueBuilder selectionMode( final com.commercetools.history.models.common.SelectionMode selectionMode) { this.selectionMode = selectionMode; return this; } /** *

Valid LineItem target predicate.

* @return predicate */ public String getPredicate() { return this.predicate; } /** *

Quantity of Line Items that triggered the application of the discount.

* @return triggerQuantity */ public Integer getTriggerQuantity() { return this.triggerQuantity; } /** *

Quantity of Line Items discounted per application of this discount.

* @return discountedQuantity */ public Integer getDiscountedQuantity() { return this.discountedQuantity; } /** *

Maximum number of times the discount is applicable.

* @return maxOccurrence */ public Integer getMaxOccurrence() { return this.maxOccurrence; } /** *

SelectionMode based on which particular Line Items were discounted.

* @return selectionMode */ public com.commercetools.history.models.common.SelectionMode getSelectionMode() { return this.selectionMode; } /** * builds ChangeTargetMultiBuyLineItemsChangeValue with checking for non-null required values * @return ChangeTargetMultiBuyLineItemsChangeValue */ public ChangeTargetMultiBuyLineItemsChangeValue build() { Objects.requireNonNull(predicate, ChangeTargetMultiBuyLineItemsChangeValue.class + ": predicate is missing"); Objects.requireNonNull(triggerQuantity, ChangeTargetMultiBuyLineItemsChangeValue.class + ": triggerQuantity is missing"); Objects.requireNonNull(discountedQuantity, ChangeTargetMultiBuyLineItemsChangeValue.class + ": discountedQuantity is missing"); Objects.requireNonNull(maxOccurrence, ChangeTargetMultiBuyLineItemsChangeValue.class + ": maxOccurrence is missing"); Objects.requireNonNull(selectionMode, ChangeTargetMultiBuyLineItemsChangeValue.class + ": selectionMode is missing"); return new ChangeTargetMultiBuyLineItemsChangeValueImpl(predicate, triggerQuantity, discountedQuantity, maxOccurrence, selectionMode); } /** * builds ChangeTargetMultiBuyLineItemsChangeValue without checking for non-null required values * @return ChangeTargetMultiBuyLineItemsChangeValue */ public ChangeTargetMultiBuyLineItemsChangeValue buildUnchecked() { return new ChangeTargetMultiBuyLineItemsChangeValueImpl(predicate, triggerQuantity, discountedQuantity, maxOccurrence, selectionMode); } /** * factory method for an instance of ChangeTargetMultiBuyLineItemsChangeValueBuilder * @return builder */ public static ChangeTargetMultiBuyLineItemsChangeValueBuilder of() { return new ChangeTargetMultiBuyLineItemsChangeValueBuilder(); } /** * create builder for ChangeTargetMultiBuyLineItemsChangeValue instance * @param template instance with prefilled values for the builder * @return builder */ public static ChangeTargetMultiBuyLineItemsChangeValueBuilder of( final ChangeTargetMultiBuyLineItemsChangeValue template) { ChangeTargetMultiBuyLineItemsChangeValueBuilder builder = new ChangeTargetMultiBuyLineItemsChangeValueBuilder(); builder.predicate = template.getPredicate(); builder.triggerQuantity = template.getTriggerQuantity(); builder.discountedQuantity = template.getDiscountedQuantity(); builder.maxOccurrence = template.getMaxOccurrence(); builder.selectionMode = template.getSelectionMode(); return builder; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy