com.logicommerce.sdk.builders.order.OrderItemSubstractedStockBuilder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of sdk Show documentation
Show all versions of sdk Show documentation
SDK for developing Logicommerce plugins.
package com.logicommerce.sdk.builders.order;
import com.logicommerce.sdk.enums.PrevisionType;
import com.logicommerce.sdk.models.order.OrderItemSubstractedStock;
import com.logicommerce.sdk.models.order.implementations.OrderItemSubstractedStockImpl;
/**
* OrderItemSubstractedStockBuilder class.
*
* @author Logicommerce
* @since 1.0.16
*/
public class OrderItemSubstractedStockBuilder {
private T parentBuilder;
protected Integer id;
protected PrevisionType previsionType;
protected Integer productCombinationStockId;
protected int quantity;
/**
* Constructor for OrderItemSubstractedStockBuilder.
*/
public OrderItemSubstractedStockBuilder() {
}
/**
* Constructor for OrderItemSubstractedStockBuilder.
*
* @param parentBuilder a T object
*/
public OrderItemSubstractedStockBuilder(T parentBuilder) {
this();
this.parentBuilder = parentBuilder;
}
/**
* id.
*
* @param id a {@link java.lang.Integer} object
* @return a {@link com.logicommerce.sdk.builders.order.OrderItemSubstractedStockBuilder} object
*/
public OrderItemSubstractedStockBuilder id(Integer id) {
this.id = id;
return this;
}
/**
* previsionType.
*
* @param previsionType a {@link com.logicommerce.sdk.enums.PrevisionType} object
* @return a {@link com.logicommerce.sdk.builders.order.OrderItemSubstractedStockBuilder} object
*/
public OrderItemSubstractedStockBuilder previsionType(PrevisionType previsionType) {
this.previsionType = previsionType;
return this;
}
/**
* productCombinationStockId.
*
* @param productCombinationStockId a {@link java.lang.Integer} object
* @return a {@link com.logicommerce.sdk.builders.order.OrderItemSubstractedStockBuilder} object
*/
public OrderItemSubstractedStockBuilder productCombinationStockId(Integer productCombinationStockId) {
this.productCombinationStockId = productCombinationStockId;
return this;
}
/**
* quantity.
*
* @param quantity a int
* @return a {@link com.logicommerce.sdk.builders.order.OrderItemSubstractedStockBuilder} object
*/
public OrderItemSubstractedStockBuilder quantity(int quantity) {
this.quantity = quantity;
return this;
}
/**
* build.
*
* @return a {@link com.logicommerce.sdk.models.order.OrderItemSubstractedStock} object
*/
public OrderItemSubstractedStock build() {
OrderItemSubstractedStockImpl substractedStock = new OrderItemSubstractedStockImpl();
substractedStock.setId(null);
substractedStock.setPrevisionType(previsionType);
substractedStock.setProductCombinationStockId(productCombinationStockId);
substractedStock.setQuantity(quantity);
return substractedStock;
}
/**
* done.
*
* @return a T object
*/
public T done() {
return parentBuilder;
}
}