Skip to content

Instantly share code, notes, and snippets.

@5AbhishekSaxena
Created June 5, 2023 09:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save 5AbhishekSaxena/5d7d3321db5e590f6321c396638f017c to your computer and use it in GitHub Desktop.
Save 5AbhishekSaxena/5d7d3321db5e590f6321c396638f017c to your computer and use it in GitHub Desktop.
class UserBuilder() {
var firstName: String? = null
var middleName: String? = null // optional
var lastName: String? = null
var address: Address? = null
var contact: Contact? = null // optional
var company: Company? = null // optional
var educations: List<Education>? = null
fun setFirstName(firstName: String) {
this.firstName = firstName
}
fun setMiddleName(middleName: String) {
this.middleName = middleName
}
fun setLastName(lastName: String) {
this.lastName = lastName
}
fun setAddress(address: Address) {
this.address = address
}
fun setContact(contact: Contact) {
this.contact = contact
}
fun setCompany(company: Company) {
this.company = company
}
fun setEducations(educations: List<Education>) {
this.educations = educations
}
fun build(): User {
return User(
firstName!!,
middleName,
lastName!!,
address!!,
contact,
company,
educations!!
)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment