io.sphere.sdk.models.AddressBuilder Maven / Gradle / Ivy
package io.sphere.sdk.models;
import com.neovisionaries.i18n.CountryCode;
import javax.annotation.Nullable;
import java.util.Objects;
/**
* Builds Address instances using the Builder pattern (a stateful object).
*
* Create an entire new address:
*
* {@include.example example.AddressExample#byCountryCreation()}
*
* Create an address based on an existing address:
*
* {@include.example example.AddressExample#buildByExistingAddress()}
*/
public class AddressBuilder extends Base implements Builder {
CountryCode country;
@Nullable
String id;
@Nullable
String title;
@Nullable
String salutation;
@Nullable
String firstName;
@Nullable
String lastName;
@Nullable
String streetName;
@Nullable
String streetNumber;
@Nullable
String additionalStreetInfo;
@Nullable
String postalCode;
@Nullable
String city;
@Nullable
String region;
@Nullable
String state;
@Nullable
String company;
@Nullable
String department;
@Nullable
String building;
@Nullable
String apartment;
@Nullable
String poBox;
@Nullable
String phone;
@Nullable
String mobile;
@Nullable
String email;
@Nullable
String additionalAddressInfo;
AddressBuilder(final CountryCode country) {
this.country = country;
}
public static AddressBuilder of(final Address address) {
final AddressBuilder builder = new AddressBuilder(address.country);
builder.id = address.id;
builder.title = address.title;
builder.salutation = address.salutation;
builder.firstName = address.firstName;
builder.lastName = address.lastName;
builder.streetName = address.streetName;
builder.streetNumber = address.streetNumber;
builder.additionalStreetInfo = address.additionalStreetInfo;
builder.postalCode = address.postalCode;
builder.city = address.city;
builder.region = address.region;
builder.state = address.state;
builder.company = address.company;
builder.department = address.department;
builder.building = address.building;
builder.apartment = address.apartment;
builder.poBox = address.poBox;
builder.phone = address.phone;
builder.mobile = address.mobile;
builder.email = address.email;
builder.additionalAddressInfo = address.additionalAddressInfo;
return builder;
}
public static AddressBuilder of(final CountryCode country) {
Objects.requireNonNull(country);
return new AddressBuilder(country);
}
public Address build() {
return new Address(this);
}
public AddressBuilder country(final CountryCode country) {
Objects.requireNonNull(country);
this.country = country;
return this;
}
public AddressBuilder id(@Nullable final String id) {
this.id = id;
return this;
}
public AddressBuilder title(@Nullable final String title) {
this.title = title;
return this;
}
public AddressBuilder salutation(@Nullable final String salutation) {
this.salutation = salutation;
return this;
}
public AddressBuilder firstName(@Nullable final String firstName) {
this.firstName = firstName;
return this;
}
public AddressBuilder lastName(@Nullable final String lastName) {
this.lastName = lastName;
return this;
}
public AddressBuilder streetName(@Nullable final String streetName) {
this.streetName = streetName;
return this;
}
public AddressBuilder streetNumber(@Nullable final String streetNumber) {
this.streetNumber = streetNumber;
return this;
}
public AddressBuilder additionalStreetInfo(@Nullable final String additionalStreetInfo) {
this.additionalStreetInfo = additionalStreetInfo;
return this;
}
public AddressBuilder postalCode(@Nullable final String postalCode) {
this.postalCode = postalCode;
return this;
}
public AddressBuilder city(@Nullable final String city) {
this.city = city;
return this;
}
public AddressBuilder region(@Nullable final String region) {
this.region = region;
return this;
}
public AddressBuilder state(@Nullable final String state) {
this.state = state;
return this;
}
public AddressBuilder company(@Nullable final String company) {
this.company = company;
return this;
}
public AddressBuilder department(@Nullable final String department) {
this.department = department;
return this;
}
public AddressBuilder building(@Nullable final String building) {
this.building = building;
return this;
}
public AddressBuilder apartment(@Nullable final String apartment) {
this.apartment = apartment;
return this;
}
public AddressBuilder poBox(@Nullable final String poBox) {
this.poBox = poBox;
return this;
}
public AddressBuilder phone(@Nullable final String phone) {
this.phone = phone;
return this;
}
public AddressBuilder mobile(@Nullable final String mobile) {
this.mobile = mobile;
return this;
}
public AddressBuilder email(@Nullable final String email) {
this.email = email;
return this;
}
public AddressBuilder additionalAddressInfo(@Nullable final String additionalAddressInfo) {
this.additionalAddressInfo = additionalAddressInfo;
return this;
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy