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

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