com.commercetools.history.models.change.SetLineItemTaxAmountChangeBuilder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of commercetools-sdk-java-history Show documentation
Show all versions of commercetools-sdk-java-history Show documentation
The e-commerce SDK from commercetools Composable Commerce for Java
package com.commercetools.history.models.change;
import java.util.*;
import java.util.function.Function;
import io.vrap.rmf.base.client.Builder;
import io.vrap.rmf.base.client.utils.Generated;
/**
* SetLineItemTaxAmountChangeBuilder
*
* Example to create an instance using the builder pattern
*
*
* SetLineItemTaxAmountChange setLineItemTaxAmountChange = SetLineItemTaxAmountChange.builder()
* .change("{change}")
* .previousValue(previousValueBuilder -> previousValueBuilder)
* .nextValue(nextValueBuilder -> nextValueBuilder)
* .lineItem(lineItemBuilder -> lineItemBuilder)
* .variant("{variant}")
* .taxMode(TaxMode.PLATFORM)
* .build()
*
*
*/
@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen")
public class SetLineItemTaxAmountChangeBuilder implements Builder {
private String change;
private com.commercetools.history.models.common.TaxRate previousValue;
private com.commercetools.history.models.common.TaxRate nextValue;
private com.commercetools.history.models.common.LocalizedString lineItem;
private String variant;
private com.commercetools.history.models.common.TaxMode taxMode;
/**
* set the value to the change
* @param change value to be set
* @return Builder
*/
public SetLineItemTaxAmountChangeBuilder change(final String change) {
this.change = change;
return this;
}
/**
* Value before the change.
* @param builder function to build the previousValue value
* @return Builder
*/
public SetLineItemTaxAmountChangeBuilder previousValue(
Function builder) {
this.previousValue = builder.apply(com.commercetools.history.models.common.TaxRateBuilder.of()).build();
return this;
}
/**
* Value before the change.
* @param builder function to build the previousValue value
* @return Builder
*/
public SetLineItemTaxAmountChangeBuilder withPreviousValue(
Function builder) {
this.previousValue = builder.apply(com.commercetools.history.models.common.TaxRateBuilder.of());
return this;
}
/**
* Value before the change.
* @param previousValue value to be set
* @return Builder
*/
public SetLineItemTaxAmountChangeBuilder previousValue(
final com.commercetools.history.models.common.TaxRate previousValue) {
this.previousValue = previousValue;
return this;
}
/**
* Value after the change.
* @param builder function to build the nextValue value
* @return Builder
*/
public SetLineItemTaxAmountChangeBuilder nextValue(
Function builder) {
this.nextValue = builder.apply(com.commercetools.history.models.common.TaxRateBuilder.of()).build();
return this;
}
/**
* Value after the change.
* @param builder function to build the nextValue value
* @return Builder
*/
public SetLineItemTaxAmountChangeBuilder withNextValue(
Function builder) {
this.nextValue = builder.apply(com.commercetools.history.models.common.TaxRateBuilder.of());
return this;
}
/**
* Value after the change.
* @param nextValue value to be set
* @return Builder
*/
public SetLineItemTaxAmountChangeBuilder nextValue(
final com.commercetools.history.models.common.TaxRate nextValue) {
this.nextValue = nextValue;
return this;
}
/**
* Name of the Product the Line Item is based on.
* @param builder function to build the lineItem value
* @return Builder
*/
public SetLineItemTaxAmountChangeBuilder lineItem(
Function builder) {
this.lineItem = builder.apply(com.commercetools.history.models.common.LocalizedStringBuilder.of()).build();
return this;
}
/**
* Name of the Product the Line Item is based on.
* @param builder function to build the lineItem value
* @return Builder
*/
public SetLineItemTaxAmountChangeBuilder withLineItem(
Function builder) {
this.lineItem = builder.apply(com.commercetools.history.models.common.LocalizedStringBuilder.of());
return this;
}
/**
* Name of the Product the Line Item is based on.
* @param lineItem value to be set
* @return Builder
*/
public SetLineItemTaxAmountChangeBuilder lineItem(
final com.commercetools.history.models.common.LocalizedString lineItem) {
this.lineItem = lineItem;
return this;
}
/**
* sku
or key
of the ProductVariant.
* @param variant value to be set
* @return Builder
*/
public SetLineItemTaxAmountChangeBuilder variant(final String variant) {
this.variant = variant;
return this;
}
/**
* "ExternalAmount"
* @param taxMode value to be set
* @return Builder
*/
public SetLineItemTaxAmountChangeBuilder taxMode(final com.commercetools.history.models.common.TaxMode taxMode) {
this.taxMode = taxMode;
return this;
}
/**
* value of change}
* @return change
*/
public String getChange() {
return this.change;
}
/**
* Value before the change.
* @return previousValue
*/
public com.commercetools.history.models.common.TaxRate getPreviousValue() {
return this.previousValue;
}
/**
* Value after the change.
* @return nextValue
*/
public com.commercetools.history.models.common.TaxRate getNextValue() {
return this.nextValue;
}
/**
* Name of the Product the Line Item is based on.
* @return lineItem
*/
public com.commercetools.history.models.common.LocalizedString getLineItem() {
return this.lineItem;
}
/**
* sku
or key
of the ProductVariant.
* @return variant
*/
public String getVariant() {
return this.variant;
}
/**
* "ExternalAmount"
* @return taxMode
*/
public com.commercetools.history.models.common.TaxMode getTaxMode() {
return this.taxMode;
}
/**
* builds SetLineItemTaxAmountChange with checking for non-null required values
* @return SetLineItemTaxAmountChange
*/
public SetLineItemTaxAmountChange build() {
Objects.requireNonNull(change, SetLineItemTaxAmountChange.class + ": change is missing");
Objects.requireNonNull(previousValue, SetLineItemTaxAmountChange.class + ": previousValue is missing");
Objects.requireNonNull(nextValue, SetLineItemTaxAmountChange.class + ": nextValue is missing");
Objects.requireNonNull(lineItem, SetLineItemTaxAmountChange.class + ": lineItem is missing");
Objects.requireNonNull(variant, SetLineItemTaxAmountChange.class + ": variant is missing");
Objects.requireNonNull(taxMode, SetLineItemTaxAmountChange.class + ": taxMode is missing");
return new SetLineItemTaxAmountChangeImpl(change, previousValue, nextValue, lineItem, variant, taxMode);
}
/**
* builds SetLineItemTaxAmountChange without checking for non-null required values
* @return SetLineItemTaxAmountChange
*/
public SetLineItemTaxAmountChange buildUnchecked() {
return new SetLineItemTaxAmountChangeImpl(change, previousValue, nextValue, lineItem, variant, taxMode);
}
/**
* factory method for an instance of SetLineItemTaxAmountChangeBuilder
* @return builder
*/
public static SetLineItemTaxAmountChangeBuilder of() {
return new SetLineItemTaxAmountChangeBuilder();
}
/**
* create builder for SetLineItemTaxAmountChange instance
* @param template instance with prefilled values for the builder
* @return builder
*/
public static SetLineItemTaxAmountChangeBuilder of(final SetLineItemTaxAmountChange template) {
SetLineItemTaxAmountChangeBuilder builder = new SetLineItemTaxAmountChangeBuilder();
builder.change = template.getChange();
builder.previousValue = template.getPreviousValue();
builder.nextValue = template.getNextValue();
builder.lineItem = template.getLineItem();
builder.variant = template.getVariant();
builder.taxMode = template.getTaxMode();
return builder;
}
}