Add an ArrayList of persons to the Person class.
[Persons_Comparator.git] / src / Person.java
1 import java.util.ArrayList;
2 import java.util.Comparator;
3
4 public class Person implements Comparable<Person>, Comparator<Person> {
5 private Firstname firstname;
6 private Origin origin;
7 private Size size;
8 private Weight weight;
9 private Eye eye;
10 //List of persons in the database to compare to.
11 private ArrayList<Person> personArrayList;
12
13 Person() {
14 setFirstname(new Firstname());
15 setOrigin(new Origin());
16 setPersonSize(new Size());
17 setWeight(new Weight());
18 setEye(new Eye());
19 setPersonArrayList(new ArrayList<>());
20 }
21
22 Person(String firstname, String country, Integer size, Integer weight, String colorEye) {
23 setFirstname(new Firstname(firstname));
24 setOrigin(new Origin(country));
25 setPersonSize(new Size(size));
26 setWeight(new Weight(weight));
27 setEye(new Eye(colorEye));
28 setPersonArrayList(new ArrayList<>());
29 }
30
31 public void setFirstname(Firstname firstname) {
32 this.firstname = firstname;
33 }
34
35 public Firstname getFirstname() {
36 return firstname;
37 }
38
39 public void setOrigin(Origin origin) {
40 this.origin = origin;
41 }
42
43 public Origin getOrigin() {
44 return origin;
45 }
46
47 public void setPersonSize(Size size) {
48 this.size = size;
49 }
50
51 public Size getPersonSize() {
52 return size;
53 }
54
55 public void setWeight(Weight weight) {
56 this.weight = weight;
57 }
58
59 public Weight getWeight() {
60 return weight;
61 }
62
63 public void setEye(Eye eye) {
64 this.eye = eye;
65 }
66
67 public Eye getEye() {
68 return eye;
69 }
70
71 public void setPersonArrayList(ArrayList<Person> personArrayList) {
72 this.personArrayList = personArrayList;
73 }
74
75 public ArrayList<Person> getPersonArrayList() {
76 return personArrayList;
77 }
78
79 @Override
80 public int compareTo(Person person) {
81 return this.firstname.compareTo(person.getFirstname()) + this.origin.compareTo(person.getOrigin())
82 + this.size.compareTo(person.getPersonSize()) + this.weight.compareTo(person.getWeight())
83 + this.eye.compareTo(person.getEye());
84 }
85
86 @Override
87 public int compare(Person p1, Person p2) {
88 return p1.compareTo(p2);
89 }
90 }