Structure the code to respect MVC design pattern.
[Persons_Comparator.git] / src / Person.java
CommitLineData
6977e614 1import java.util.Comparator;
97491195 2
6977e614 3public 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
66 public int compare(Person person, Person t1) {
67 return 0;
68 }
97491195 69}