
com.logicommerce.sdktest.models.order.OrderItemFakeBuilder Maven / Gradle / Ivy
package com.logicommerce.sdktest.models.order;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import com.logicommerce.sdk.builders.CustomTagBuilder;
import com.logicommerce.sdk.enums.BackorderMode;
import com.logicommerce.sdktest.models.CustomTagFakeBuilder;
import com.logicommerce.sdktest.models.RowCodesFakeBuilder;
public class OrderItemFakeBuilder {
private T parentBuilder;
private Integer id;
private String pId;
private String hash;
private String name;
private Integer productId;
private int quantity;
private double weight;
private OrderItemPricesFakeBuilder> prices;
private Integer vinculatedTo;
private String image;
private boolean sale;
private boolean stockManagement;
private boolean reverseChargeVat;
private RowCodesFakeBuilder> codes;
private boolean noReturn;
private BackorderMode backOrder;
private boolean onRequest;
private int onRequestDays;
private String link;
private Integer combinationId;
private String supplierReference;
private List>> options;
private List>> stocks;
private List>> taxes;
private List>> customTags;
private List>> discounts;
public OrderItemFakeBuilder() {
id = 0;
pId = "pId DEFAULT";
hash = "hash DEFAULT";
name = "name DEFAULT";
productId = 0;
quantity = 0;
weight = 0d;
prices = new OrderItemPricesFakeBuilder<>(this);
vinculatedTo = 0;
image = "image DEFAULT";
sale = false;
stockManagement = false;
reverseChargeVat = false;
codes = new RowCodesFakeBuilder<>(this);
noReturn = false;
backOrder = BackorderMode.NONE;
onRequest = false;
onRequestDays = 0;
link = "link DEFAULT";
combinationId = 0;
supplierReference = "supplierReference DEFAULT";
options = new ArrayList<>();
stocks = new ArrayList<>();
taxes = new ArrayList<>();
customTags = new ArrayList<>();
discounts = new ArrayList<>();
}
public OrderItemFakeBuilder(T parentBuilder) {
this();
this.parentBuilder = parentBuilder;
}
public OrderItemFakeBuilder id(Integer id) {
this.id = id;
return this;
}
public OrderItemFakeBuilder pId(String pId) {
this.pId = pId;
return this;
}
public OrderItemFakeBuilder hash(String hash) {
this.hash = hash;
return this;
}
public OrderItemFakeBuilder name(String name) {
this.name = name;
return this;
}
public OrderItemFakeBuilder productId(Integer productId) {
this.productId = productId;
return this;
}
public OrderItemFakeBuilder quantity(int quantity) {
this.quantity = quantity;
return this;
}
public OrderItemFakeBuilder weight(double weight) {
this.weight = weight;
return this;
}
public OrderItemPricesFakeBuilder> prices() {
return prices;
}
public OrderItemFakeBuilder vinculatedTo(Integer vinculatedTo) {
this.vinculatedTo = vinculatedTo;
return this;
}
public OrderItemFakeBuilder image(String image) {
this.image = image;
return this;
}
public OrderItemFakeBuilder sale(boolean sale) {
this.sale = sale;
return this;
}
public OrderItemFakeBuilder stockManagement(boolean stockManagement) {
this.stockManagement = stockManagement;
return this;
}
public OrderItemFakeBuilder reverseChargeVat(boolean reverseChargeVat) {
this.reverseChargeVat = reverseChargeVat;
return this;
}
public RowCodesFakeBuilder> codes() {
return codes;
}
public OrderItemFakeBuilder noReturn(boolean noReturn) {
this.noReturn = noReturn;
return this;
}
public OrderItemFakeBuilder backOrder(BackorderMode backOrder) {
this.backOrder = backOrder;
return this;
}
public OrderItemFakeBuilder onRequest(boolean onRequest) {
this.onRequest = onRequest;
return this;
}
public OrderItemFakeBuilder onRequestDays(int onRequestDays) {
this.onRequestDays = onRequestDays;
return this;
}
public OrderItemFakeBuilder link(String link) {
this.link = link;
return this;
}
public OrderItemFakeBuilder combinationId(Integer combinationId) {
this.combinationId = combinationId;
return this;
}
public OrderItemFakeBuilder supplierReference(String supplierReference) {
this.supplierReference = supplierReference;
return this;
}
public OrderItemTaxFakeBuilder> taxes() {
OrderItemTaxFakeBuilder> tax = new OrderItemTaxFakeBuilder<>(this);
taxes.add(tax);
return tax;
}
public OrderItemStockFakeBuilder> stocks() {
OrderItemStockFakeBuilder> stock = new OrderItemStockFakeBuilder<>(this);
stocks.add(stock);
return stock;
}
public CustomTagBuilder> customTag() {
CustomTagFakeBuilder> customTag = new CustomTagFakeBuilder<>(this);
customTags.add(customTag);
return customTag;
}
public OrderDiscountFakeBuilder> discount() {
OrderDiscountFakeBuilder> discount = new OrderDiscountFakeBuilder<>(this);
discounts.add(discount);
return discount;
}
public OrderItemOptionFakeBuilder> options() {
OrderItemOptionFakeBuilder> option = new OrderItemOptionFakeBuilder<>(this);
options.add(option);
return option;
}
public OrderItemFake build() {
OrderItemFake item = new OrderItemFake();
item.setId(id);
item.setPId(pId);
item.setHash(hash);
item.setName(name);
item.setProductId(productId);
item.setQuantity(quantity);
item.setWeight(weight);
item.setPrices(prices.build());
item.setVinculatedTo(vinculatedTo);
item.setImage(image);
item.setSale(sale);
item.setStockManagement(stockManagement);
item.setReverseChargeVat(reverseChargeVat);
item.setCodes(codes.build());
item.setNoReturn(noReturn);
item.setBackOrder(backOrder);
item.setOnRequest(onRequest);
item.setOnRequestDays(onRequestDays);
item.setLink(link);
item.setCombinationId(combinationId);
item.setSupplierReference(supplierReference);
item.setOptions(options.stream().map(OrderItemOptionFakeBuilder::build).collect(Collectors.toList()));
item.setTaxes(taxes.stream().map(OrderItemTaxFakeBuilder::build).collect(Collectors.toList()));
item.setStocks(stocks.stream().map(OrderItemStockFakeBuilder::build).collect(Collectors.toList()));
item.setCustomTags(customTags.stream().map(CustomTagFakeBuilder::build).collect(Collectors.toList()));
item.setDiscounts(discounts.stream().map(OrderDiscountFakeBuilder::build).collect(Collectors.toList()));
return item;
}
public T done() {
return parentBuilder;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy