Add an ArrayList of persons to the Person class.
[Persons_Comparator.git] / src / Person.java
CommitLineData
f1e9d6d2 1import java.util.ArrayList;
6977e614 2import java.util.Comparator;
97491195 3
6977e614 4public class Person implements Comparable<Person>, Comparator<Person> {
97491195
JB
5 private Firstname firstname;
6 private Origin origin;
7 private Size size;
8 private Weight weight;
9 private Eye eye;
f1e9d6d2
JB
10 //List of persons in the database to compare to.
11 private ArrayList<Person> personArrayList;
97491195 12
b974e749
JB
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<>());
97491195
JB
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 }
1c118933 70
f1e9d6d2
JB
71 public void setPersonArrayList(ArrayList<Person> personArrayList) {
72 this.personArrayList = personArrayList;
73 }
74
75 public ArrayList<Person> getPersonArrayList() {
76 return personArrayList;
77 }
78
1c118933
JB
79 @Override
80 public int compareTo(Person person) {
613054ac
JB
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());
1c118933 84 }
6977e614
JB
85
86 @Override
ac6c3ea2
JB
87 public int compare(Person p1, Person p2) {
88 return p1.compareTo(p2);
6977e614 89 }
97491195 90}