![JAR search and dependency download from the Maven repository](/logo.png)
com.logicommerce.sdk.builders.order.OrderPaymentSystemBuilder 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 java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import com.logicommerce.sdk.enums.AmountType;
import com.logicommerce.sdk.models.order.OrderPaymentSystem;
import com.logicommerce.sdk.models.order.implementations.OrderPaymentSystemImpl;
/**
* OrderPaymentSystemBuilder class.
*
* @author Logicommerce
* @since 1.0.16
*/
public class OrderPaymentSystemBuilder {
private T parentBuilder;
protected Integer id;
protected int paymentSystemId;
protected List>> taxes;
protected String name;
protected AmountType increaseType;
protected double increaseValue;
protected double price;
protected double increaseMin;
protected boolean cashOnDelivery;
protected String property;
/**
* Constructor for OrderPaymentSystemBuilder.
*/
public OrderPaymentSystemBuilder() {
taxes = new ArrayList<>();
}
/**
* Constructor for OrderPaymentSystemBuilder.
*
* @param parentBuilder a T object
*/
public OrderPaymentSystemBuilder(T parentBuilder) {
this();
this.parentBuilder = parentBuilder;
}
/**
* id.
*
* @param id a {@link java.lang.Integer} object
* @return a {@link com.logicommerce.sdk.builders.order.OrderPaymentSystemBuilder} object
*/
public OrderPaymentSystemBuilder id(Integer id) {
this.id = id;
return this;
}
/**
* paymentSystemId.
*
* @param paymentSystemId a int
* @return a {@link com.logicommerce.sdk.builders.order.OrderPaymentSystemBuilder} object
*/
public OrderPaymentSystemBuilder paymentSystemId(int paymentSystemId) {
this.paymentSystemId = paymentSystemId;
return this;
}
/**
* tax.
*
* @return a {@link com.logicommerce.sdk.builders.order.OrderTaxBuilder} object
*/
public OrderTaxBuilder> tax() {
OrderTaxBuilder> tax = new OrderTaxBuilder<>(this);
taxes.add(tax);
return tax;
}
/**
* name.
*
* @param name a {@link java.lang.String} object
* @return a {@link com.logicommerce.sdk.builders.order.OrderPaymentSystemBuilder} object
*/
public OrderPaymentSystemBuilder name(String name) {
this.name = name;
return this;
}
/**
* increaseType.
*
* @param increaseType a {@link com.logicommerce.sdk.enums.AmountType} object
* @return a {@link com.logicommerce.sdk.builders.order.OrderPaymentSystemBuilder} object
*/
public OrderPaymentSystemBuilder increaseType(AmountType increaseType) {
this.increaseType = increaseType;
return this;
}
/**
* increaseValue.
*
* @param increaseValue a double
* @return a {@link com.logicommerce.sdk.builders.order.OrderPaymentSystemBuilder} object
*/
public OrderPaymentSystemBuilder increaseValue(double increaseValue) {
this.increaseValue = increaseValue;
return this;
}
/**
* price.
*
* @param price a double
* @return a {@link com.logicommerce.sdk.builders.order.OrderPaymentSystemBuilder} object
*/
public OrderPaymentSystemBuilder price(double price) {
this.price = price;
return this;
}
/**
* increaseMin.
*
* @param increaseMin a double
* @return a {@link com.logicommerce.sdk.builders.order.OrderPaymentSystemBuilder} object
*/
public OrderPaymentSystemBuilder increaseMin(double increaseMin) {
this.increaseMin = increaseMin;
return this;
}
/**
* cashOnDelivery.
*
* @param cashOnDelivery a boolean
* @return a {@link com.logicommerce.sdk.builders.order.OrderPaymentSystemBuilder} object
*/
public OrderPaymentSystemBuilder cashOnDelivery(boolean cashOnDelivery) {
this.cashOnDelivery = cashOnDelivery;
return this;
}
/**
* property.
*
* @param property a {@link java.lang.String} object
* @return a {@link com.logicommerce.sdk.builders.order.OrderPaymentSystemBuilder} object
*/
public OrderPaymentSystemBuilder property(String property) {
this.property = property;
return this;
}
/**
* build.
*
* @return a {@link com.logicommerce.sdk.models.order.OrderPaymentSystem} object
*/
public OrderPaymentSystem build() {
OrderPaymentSystemImpl paymentSystem = new OrderPaymentSystemImpl();
paymentSystem.setId(null);
paymentSystem.setPaymentSystemId(paymentSystemId);
paymentSystem.setTaxes(taxes.stream().map(OrderTaxBuilder::build).collect(Collectors.toList()));
paymentSystem.setName(name);
paymentSystem.setIncreaseType(increaseType);
paymentSystem.setIncreaseValue(increaseValue);
paymentSystem.setPrice(price);
paymentSystem.setIncreaseMin(increaseMin);
paymentSystem.setCashOnDelivery(cashOnDelivery);
paymentSystem.setProperty(property);
return paymentSystem;
}
/**
* done.
*
* @return a T object
*/
public T done() {
return parentBuilder;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy