Commit | Line | Data |
---|---|---|
f1e9d6d2 | 1 | import java.util.ArrayList; |
6977e614 | 2 | import java.util.Comparator; |
9b3bfcdd | 3 | import java.util.ListIterator; |
97491195 | 4 | |
6977e614 | 5 | public 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 | } |