| /* |
| * Copyright 2015-2022 the original author or authors. |
| * |
| * All rights reserved. This program and the accompanying materials are |
| * made available under the terms of the Eclipse Public License v2.0 which |
| * accompanies this distribution and is available at |
| * |
| * https://www.eclipse.org/legal/epl-v20.html |
| */ |
| |
| package example.domain; |
| |
| import java.time.LocalDate; |
| |
| public class Person { |
| |
| public enum Gender { |
| F, M |
| } |
| |
| private String firstName; |
| private String lastName; |
| private Gender gender; |
| private LocalDate dateOfBirth; |
| |
| public Person(String firstName, String lastName) { |
| this.firstName = firstName; |
| this.lastName = lastName; |
| } |
| |
| public Person(String firstName, String lastName, Gender gender, LocalDate dateOfBirth) { |
| this(firstName, lastName); |
| this.gender = gender; |
| this.dateOfBirth = dateOfBirth; |
| } |
| |
| public String getFirstName() { |
| return firstName; |
| } |
| |
| public String getLastName() { |
| return lastName; |
| } |
| |
| public Gender getGender() { |
| return gender; |
| } |
| |
| public LocalDate getDateOfBirth() { |
| return dateOfBirth; |
| } |
| |
| @Override |
| public int hashCode() { |
| final int prime = 31; |
| int result = 1; |
| result = prime * result + ((firstName == null) ? 0 : firstName.hashCode()); |
| result = prime * result + ((lastName == null) ? 0 : lastName.hashCode()); |
| return result; |
| } |
| |
| @Override |
| public boolean equals(Object obj) { |
| if (this == obj) { |
| return true; |
| } |
| if (obj == null) { |
| return false; |
| } |
| if (getClass() != obj.getClass()) { |
| return false; |
| } |
| Person other = (Person) obj; |
| if (firstName == null) { |
| if (other.firstName != null) { |
| return false; |
| } |
| } |
| else if (!firstName.equals(other.firstName)) { |
| return false; |
| } |
| if (lastName == null) { |
| if (other.lastName != null) { |
| return false; |
| } |
| } |
| else if (!lastName.equals(other.lastName)) { |
| return false; |
| } |
| return true; |
| } |
| |
| @Override |
| public String toString() { |
| return "Person [firstName=" + firstName + ", lastName=" + lastName + "]"; |
| } |
| |
| } |