Person.java
1    /* 
2     * Modeling a person in terms of five properties i.e. First Name, Last Name, Month, Day and Year of Birth 
3     */
4    
5    package people;
6    
7    public class Person implements PersonSpecification{
8        // Instance Variables
9        private String firstName;
10       private String lastName;
11       private int Month, Day, Year;
12   
13       //Non-Trivial Constructor
14   
15       public Person(String name, int Month, int Day, int Year){
16           String firstName = name.substring(0,name.indexOf(" "));
17           String lastName = name.substring((name.indexOf(" ")+1), name.length());
18           this.firstName = firstName;
19           this.lastName = lastName;
20   
21           this.Month = Month;
22           this.Day = Day;
23           this.Year = Year;
24   
25       }
26       public String toString(){
27           return firstName +" " + lastName +","+" born " + Month + "/" + Day + "/" + Year;
28       }
29   
30   
31       @Override
32       public String firstName() {
33           return firstName;
34       }
35   
36       @Override
37       public String lastName() {
38           return this.lastName;
39       }
40   
41       @Override
42       public int month() {
43           return this.Month;
44       }
45   
46       @Override
47       public int day() {
48           return this.Day;
49       }
50   
51       @Override
52       public int year() {
53           return this.Year;
54       }
55   
56       @Override
57       public String initials() {
58           return firstName.substring(0,1).toUpperCase() + lastName.substring(0,1).toUpperCase();
59       }
60   
61       @Override
62       public boolean isBoomer() {
63           return (Year > 1945 && Year < 1965);
64       }
65   }
66   
67   
68