Start the implementation of inputs gathering and the comparator code (still buggy...
[Persons_Comparator.git] / src / Person.java
CommitLineData
f1e9d6d2 1import java.util.ArrayList;
6977e614 2import java.util.Comparator;
9b3bfcdd 3import java.util.ListIterator;
97491195 4
6977e614 5public class Person implements Comparable<Person>, Comparator<Person> {
97491195
JB
6 private Firstname firstname;
7 private Origin origin;
8 private Size size;
9 private Weight weight;
10 private Eye eye;
f1e9d6d2
JB
11 //List of persons in the database to compare to.
12 private ArrayList<Person> personArrayList;
97491195 13
b974e749
JB
14 Person() {
15 setFirstname(new Firstname());
16 setOrigin(new Origin());
17 setPersonSize(new Size());
18 setWeight(new Weight());
19 setEye(new Eye());
20 setPersonArrayList(new ArrayList<>());
21 }
22
23 Person(String firstname, String country, Integer size, Integer weight, String colorEye) {
24 setFirstname(new Firstname(firstname));
25 setOrigin(new Origin(country));
26 setPersonSize(new Size(size));
27 setWeight(new Weight(weight));
28 setEye(new Eye(colorEye));
29 setPersonArrayList(new ArrayList<>());
97491195
JB
30 }
31
32 public void setFirstname(Firstname firstname) {
33 this.firstname = firstname;
34 }
35
36 public Firstname getFirstname() {
37 return firstname;
38 }
39
40 public void setOrigin(Origin origin) {
41 this.origin = origin;
42 }
43
44 public Origin getOrigin() {
45 return origin;
46 }
47
48 public void setPersonSize(Size size) {
49 this.size = size;
50 }
51
52 public Size getPersonSize() {
53 return size;
54 }
55
56 public void setWeight(Weight weight) {
57 this.weight = weight;
58 }
59
60 public Weight getWeight() {
61 return weight;
62 }
63
64 public void setEye(Eye eye) {
65 this.eye = eye;
66 }
67
68 public Eye getEye() {
69 return eye;
70 }
1c118933 71
f1e9d6d2
JB
72 public void setPersonArrayList(ArrayList<Person> personArrayList) {
73 this.personArrayList = personArrayList;
74 }
75
76 public ArrayList<Person> getPersonArrayList() {
77 return personArrayList;
78 }
79
9b3bfcdd
JB
80 public void displayArrayList(ArrayList arrayList) {
81 ListIterator iter = arrayList.listIterator();
82 Integer i = 0;
83 while (iter.hasNext()) {
84 System.out.println(i.toString() + " " + iter.next());
85 i++;
86 }
87 }
88
89 public void displayPersonArrayList() {
90 this.displayArrayList(this.personArrayList);
91 }
92
93 @Override
94 public String toString() {
95 return "Person{" +
96 "firstname=" + firstname.getFirstname() +
97 ", origin=" + origin.getCountry() +
98 ", size=" + size.getSize() +
99 ", weight=" + weight.getWeight() +
100 ", eye=" + eye.getStrColor() + "(" + this.getEye().getColor().getRed() + "," + this.getEye().getColor().getGreen() + "," + this.getEye().getColor().getBlue() + ")" +
101 '}';
102 }
103
1c118933
JB
104 @Override
105 public int compareTo(Person person) {
613054ac
JB
106 return this.firstname.compareTo(person.getFirstname()) + this.origin.compareTo(person.getOrigin())
107 + this.size.compareTo(person.getPersonSize()) + this.weight.compareTo(person.getWeight())
108 + this.eye.compareTo(person.getEye());
1c118933 109 }
6977e614
JB
110
111 @Override
ac6c3ea2
JB
112 public int compare(Person p1, Person p2) {
113 return p1.compareTo(p2);
6977e614 114 }
97491195 115}