1 import java
.util
.ArrayList
;
2 import java
.util
.Comparator
;
3 import java
.util
.ListIterator
;
5 public class Person
implements Comparable
<Person
>, Comparator
<Person
> {
6 private Firstname firstname
;
11 //List of persons in the database to compare to.
12 private ArrayList
<Person
> personArrayList
;
15 setFirstname(new Firstname());
16 setOrigin(new Origin());
17 setPersonSize(new Size());
18 setWeight(new Weight());
20 setPersonArrayList(new ArrayList
<>());
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
<>());
32 public void setFirstname(Firstname firstname
) {
33 this.firstname
= firstname
;
36 public Firstname
getFirstname() {
40 public void setOrigin(Origin origin
) {
44 public Origin
getOrigin() {
48 public void setPersonSize(Size size
) {
52 public Size
getPersonSize() {
56 public void setWeight(Weight weight
) {
60 public Weight
getWeight() {
64 public void setEye(Eye eye
) {
72 public void setPersonArrayList(ArrayList
<Person
> personArrayList
) {
73 this.personArrayList
= personArrayList
;
76 public ArrayList
<Person
> getPersonArrayList() {
77 return personArrayList
;
80 public void displayArrayList(ArrayList arrayList
) {
81 ListIterator iter
= arrayList
.listIterator();
83 while (iter
.hasNext()) {
84 System
.out
.println(i
.toString() + " " + iter
.next());
89 public void displayPersonArrayList() {
90 this.displayArrayList(this.personArrayList
);
94 public String
toString() {
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() + ")" +
105 public int compareTo(Person person
) {
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());
112 public int compare(Person p1
, Person p2
) {
113 return p1
.compareTo(p2
);