Commit | Line | Data |
---|---|---|
6977e614 | 1 | import java.util.Comparator; |
97491195 | 2 | |
6977e614 | 3 | public class Person implements Comparable<Person>, Comparator<Person> { |
97491195 JB |
4 | private Firstname firstname; |
5 | private Origin origin; | |
6 | private Size size; | |
7 | private Weight weight; | |
8 | private Eye eye; | |
9 | ||
6977e614 | 10 | Person(Firstname firstname, Origin origin, Size size, Weight weight, Eye eye) { |
97491195 | 11 | setFirstname(firstname); |
6977e614 JB |
12 | setOrigin(origin); |
13 | setPersonSize(size); | |
14 | setWeight(weight); | |
15 | setEye(eye); | |
97491195 JB |
16 | } |
17 | ||
18 | public void setFirstname(Firstname firstname) { | |
19 | this.firstname = firstname; | |
20 | } | |
21 | ||
22 | public Firstname getFirstname() { | |
23 | return firstname; | |
24 | } | |
25 | ||
26 | public void setOrigin(Origin origin) { | |
27 | this.origin = origin; | |
28 | } | |
29 | ||
30 | public Origin getOrigin() { | |
31 | return origin; | |
32 | } | |
33 | ||
34 | public void setPersonSize(Size size) { | |
35 | this.size = size; | |
36 | } | |
37 | ||
38 | public Size getPersonSize() { | |
39 | return size; | |
40 | } | |
41 | ||
42 | public void setWeight(Weight weight) { | |
43 | this.weight = weight; | |
44 | } | |
45 | ||
46 | public Weight getWeight() { | |
47 | return weight; | |
48 | } | |
49 | ||
50 | public void setEye(Eye eye) { | |
51 | this.eye = eye; | |
52 | } | |
53 | ||
54 | public Eye getEye() { | |
55 | return eye; | |
56 | } | |
1c118933 JB |
57 | |
58 | @Override | |
59 | public int compareTo(Person person) { | |
613054ac JB |
60 | return this.firstname.compareTo(person.getFirstname()) + this.origin.compareTo(person.getOrigin()) |
61 | + this.size.compareTo(person.getPersonSize()) + this.weight.compareTo(person.getWeight()) | |
62 | + this.eye.compareTo(person.getEye()); | |
1c118933 | 63 | } |
6977e614 JB |
64 | |
65 | @Override | |
ac6c3ea2 JB |
66 | public int compare(Person p1, Person p2) { |
67 | return p1.compareTo(p2); | |
6977e614 | 68 | } |
97491195 | 69 | } |