1 import java
.util
.Comparator
;
3 public class Person
implements Comparator
<Person
> {
4 private Firstname firstname
;
9 private Integer distanceFromReference
;
12 setFirstname(new Firstname());
13 setOrigin(new Origin());
14 setPersonSize(new Size());
15 setWeight(new Weight());
17 setDistanceFromReference(0);
20 Person(String firstname
, String country
, Integer size
, Integer weight
, String colorEye
) {
21 setFirstname(new Firstname(firstname
));
22 setOrigin(new Origin(country
));
23 setPersonSize(new Size(size
));
24 setWeight(new Weight(weight
));
25 setEye(new Eye(colorEye
));
26 setDistanceFromReference(0);
29 public void setFirstname(Firstname firstname
) {
30 this.firstname
= firstname
;
33 public Firstname
getFirstname() {
37 public void setOrigin(Origin origin
) {
41 public Origin
getOrigin() {
45 public void setPersonSize(Size size
) {
49 public Size
getPersonSize() {
53 public void setWeight(Weight weight
) {
57 public Weight
getWeight() {
61 public void setEye(Eye eye
) {
69 public void setDistanceFromReference(Integer distanceFromReference
) {
70 this.distanceFromReference
= distanceFromReference
;
73 public Integer
getDistanceFromReference() {
74 return distanceFromReference
;
78 public String
toString() {
80 "firstname=" + firstname
.getFirstname() +
81 ", origin=" + origin
.getCountry() +
82 ", size=" + size
.getSize() +
83 ", weight=" + weight
.getWeight() +
84 ", eye=" + eye
.getStrColor() + "(" + this.getEye().getColor().getRed() + "," + this.getEye().getColor().getGreen() + "," + this.getEye().getColor().getBlue() + ")" +
85 ", distanceFromReference=" + this.getDistanceFromReference() +
89 public Integer
distanceTo(Person person
) {
90 return this.getFirstname().distanceTo(person
.getFirstname()) + this.getOrigin().distanceTo(person
.getOrigin())
91 + this.getPersonSize().distanceTo(person
.getPersonSize()) + this.getWeight().distanceTo(person
.getWeight())
92 + this.getEye().distanceTo(person
.getEye());
96 public int compare(Person p1
, Person p2
) {
97 return p1
.getDistanceFromReference().compareTo(p2
.getDistanceFromReference());