* Code cleanup;
[Persons_Comparator.git] / src / Person.java
CommitLineData
6977e614 1import java.util.Comparator;
97491195 2
5687dc10 3public class Person implements Comparator<Person> {
97491195
JB
4 private Firstname firstname;
5 private Origin origin;
e16e3b15 6 private Country country;
97491195
JB
7 private Size size;
8 private Weight weight;
9 private Eye eye;
5687dc10 10 private Integer distanceFromReference;
97491195 11
b974e749
JB
12 Person() {
13 setFirstname(new Firstname());
14 setOrigin(new Origin());
15 setPersonSize(new Size());
16 setWeight(new Weight());
17 setEye(new Eye());
5687dc10 18 setDistanceFromReference(0);
b974e749
JB
19 }
20
21 Person(String firstname, String country, Integer size, Integer weight, String colorEye) {
22 setFirstname(new Firstname(firstname));
23 setOrigin(new Origin(country));
24 setPersonSize(new Size(size));
25 setWeight(new Weight(weight));
26 setEye(new Eye(colorEye));
5687dc10 27 setDistanceFromReference(0);
97491195
JB
28 }
29
30 public void setFirstname(Firstname firstname) {
31 this.firstname = firstname;
32 }
33
34 public Firstname getFirstname() {
35 return firstname;
36 }
37
38 public void setOrigin(Origin origin) {
39 this.origin = origin;
40 }
41
42 public Origin getOrigin() {
43 return origin;
44 }
45
e16e3b15
JB
46 public void setCountry(Country country) {
47 this.country = country;
48 }
49
50 public Country getCountry() {
51 return country;
52 }
53
97491195
JB
54 public void setPersonSize(Size size) {
55 this.size = size;
56 }
57
58 public Size getPersonSize() {
59 return size;
60 }
61
62 public void setWeight(Weight weight) {
63 this.weight = weight;
64 }
65
66 public Weight getWeight() {
67 return weight;
68 }
69
70 public void setEye(Eye eye) {
71 this.eye = eye;
72 }
73
74 public Eye getEye() {
75 return eye;
76 }
1c118933 77
5687dc10
JB
78 public void setDistanceFromReference(Integer distanceFromReference) {
79 this.distanceFromReference = distanceFromReference;
f1e9d6d2
JB
80 }
81
5687dc10
JB
82 public Integer getDistanceFromReference() {
83 return distanceFromReference;
9b3bfcdd
JB
84 }
85
86 @Override
87 public String toString() {
88 return "Person{" +
89 "firstname=" + firstname.getFirstname() +
90 ", origin=" + origin.getCountry() +
e16e3b15 91 ", country=" + country +
9b3bfcdd
JB
92 ", size=" + size.getSize() +
93 ", weight=" + weight.getWeight() +
94 ", eye=" + eye.getStrColor() + "(" + this.getEye().getColor().getRed() + "," + this.getEye().getColor().getGreen() + "," + this.getEye().getColor().getBlue() + ")" +
5687dc10 95 ", distanceFromReference=" + this.getDistanceFromReference() +
9b3bfcdd
JB
96 '}';
97 }
98
5687dc10
JB
99 public Integer distanceTo(Person person) {
100 return this.getFirstname().distanceTo(person.getFirstname()) + this.getOrigin().distanceTo(person.getOrigin())
e16e3b15
JB
101 + this.getCountry().distanceTo(person.getCountry()) + this.getPersonSize().distanceTo(person.getPersonSize())
102 + this.getWeight().distanceTo(person.getWeight()) + this.getEye().distanceTo(person.getEye());
1c118933 103 }
6977e614
JB
104
105 @Override
ac6c3ea2 106 public int compare(Person p1, Person p2) {
5687dc10 107 return p1.getDistanceFromReference().compareTo(p2.getDistanceFromReference());
6977e614 108 }
97491195 109}