package io.codearte.jfairy.producer.person; import io.codearte.jfairy.producer.company.Company; import org.joda.time.DateTime; import static io.codearte.jfairy.producer.person.Person.Sex.FEMALE; import static io.codearte.jfairy.producer.person.Person.Sex.MALE; public class Person { public static enum Sex { MALE, FEMALE } private final Address address; private final String firstName; private final String middleName; private final String lastName; private final String email; private final String username; private final String password; private final Sex sex; private final String telephoneNumber; private final DateTime dateOfBirth; private final Integer age; private final Company company; private final String companyEmail; private final String nationalIdentityCardNumber; private final String nationalIdentificationNumber; private final String passportNumber; public Person(String firstName, String middleName, String lastName, Address address, String email, String username, String password, Sex sex, String telephoneNumber, DateTime dateOfBirth, Integer age, String nationalIdentityCardNumber, String nationalIdentificationNumber, String passportNumber, Company company, String companyEmail) { this.nationalIdentityCardNumber = nationalIdentityCardNumber; this.address = address; this.firstName = firstName; this.middleName = middleName; this.lastName = lastName; this.email = email; this.username = username; this.password = password; this.sex = sex; this.telephoneNumber = telephoneNumber; this.dateOfBirth = dateOfBirth; this.age = age; this.nationalIdentificationNumber = nationalIdentificationNumber; this.company = company; this.companyEmail = companyEmail; this.passportNumber = passportNumber; } public String getNationalIdentificationNumber() { return nationalIdentificationNumber; } public String getFirstName() { return firstName; } public String getMiddleName() { return middleName; } public String getLastName() { return lastName; } public String getEmail() { return email; } public String getUsername() { return username; } public String getPassword() { return password; } public String getFullName() { return firstName + " " + lastName; } public boolean isMale() { return sex == MALE; } public boolean isFemale() { return sex == FEMALE; } public Sex getSex() { return sex; } public String getTelephoneNumber() { return telephoneNumber; } public DateTime getDateOfBirth() { return dateOfBirth; } public int getAge() { return age; } public String getNationalIdentityCardNumber() { return nationalIdentityCardNumber; } public String getCompanyEmail() { return companyEmail; } public Address getAddress() { return address; } public Company getCompany() { return company; } public String getPassportNumber() { return passportNumber; } }