com.logicommerce.sdk.builders.UserAddressBuilder 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;
import com.logicommerce.sdk.models.UserAddress;
import com.logicommerce.sdk.models.implementations.UserAddressImpl;
/**
* AddressBuilder class.
*
* @author Logicommerce
* @since 1.3.3
*/
public class UserAddressBuilder extends AddressBuilder> {
private boolean defaultAddress;
protected String alias;
protected String firstName;
protected String lastName;
protected String company;
protected String vat;
protected String nif;
protected boolean tax;
protected boolean re;
/**
* Constructor for AddressBuilder.
*/
public UserAddressBuilder() {
super();
}
/**
* Constructor for AddressBuilder.
*
* @param parentBuilder a T object
*/
public UserAddressBuilder(T parentBuilder) {
super(parentBuilder);
}
/**
* defaultAddress.
*
* @since 1.3.3
* @param defaultAddress a boolean
* @return a {@link com.logicommerce.sdk.builders.UserAddressBuilder} object
*/
public UserAddressBuilder defaultAddress(boolean defaultAddress) {
this.defaultAddress = defaultAddress;
return returnThis();
}
/**
* alias.
*
* @param alias a {@link java.lang.String} object
* @return a {@link com.logicommerce.sdk.builders.UserAddressBuilder} object
*/
public UserAddressBuilder alias(String alias) {
this.alias = alias;
return returnThis();
}
/**
* firstName.
*
* @param firstName a {@link java.lang.String} object
* @return a {@link com.logicommerce.sdk.builders.UserAddressBuilder} object
*/
public UserAddressBuilder firstName(String firstName) {
this.firstName = firstName;
return returnThis();
}
/**
* lastName.
*
* @param lastName a {@link java.lang.String} object
* @return a {@link com.logicommerce.sdk.builders.UserAddressBuilder} object
*/
public UserAddressBuilder lastName(String lastName) {
this.lastName = lastName;
return returnThis();
}
/**
* company.
*
* @param company a {@link java.lang.String} object
* @return a {@link com.logicommerce.sdk.builders.UserAddressBuilder} object
*/
public UserAddressBuilder company(String company) {
this.company = company;
return returnThis();
}
/**
* vat.
*
* @param vat a {@link java.lang.String} object
* @return a {@link com.logicommerce.sdk.builders.UserAddressBuilder} object
*/
public UserAddressBuilder vat(String vat) {
this.vat = vat;
return returnThis();
}
/**
* nif.
*
* @param nif a {@link java.lang.String} object
* @return a {@link com.logicommerce.sdk.builders.UserAddressBuilder} object
*/
public UserAddressBuilder nif(String nif) {
this.nif = nif;
return returnThis();
}
/**
* tax.
*
* @param tax a boolean
* @return a {@link com.logicommerce.sdk.builders.UserAddressBuilder} object
*/
public UserAddressBuilder tax(boolean tax) {
this.tax = tax;
return returnThis();
}
/**
* re.
*
* @param re a boolean
* @return a {@link com.logicommerce.sdk.builders.UserAddressBuilder} object
*/
public UserAddressBuilder re(boolean re) {
this.re = re;
return returnThis();
}
/**
* build.
*
* @return a {@link com.logicommerce.sdk.models.UserAddress} object
*/
public UserAddress build() {
UserAddressImpl userAddress = new UserAddressImpl();
setElements(userAddress);
return userAddress;
}
/**
* setElements.
*
* @param userAddress a {@link com.logicommerce.sdk.models.implementations.UserAddressImpl} object
*/
protected void setElements(UserAddressImpl userAddress) {
super.setElements(userAddress);
userAddress.setDefaultAddress(defaultAddress);
userAddress.setAlias(alias);
userAddress.setFirstName(firstName);
userAddress.setLastName(lastName);
userAddress.setCompany(company);
userAddress.setVat(vat);
userAddress.setNif(nif);
userAddress.setTax(tax);
userAddress.setRe(re);
}
/**
* returnThis.
*
* @return a {@link com.logicommerce.sdk.builders.UserAddressBuilder} object
*/
protected UserAddressBuilder returnThis() {
return this;
}
}