X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2FPerson.java;h=6e5ff4012e13f44e14f3df3e023a51f58bca8f00;hb=64418ffb240e30ec22560aafd85b07792ac71c80;hp=387e921dc72689881b21f329e828b242e17ed306;hpb=1c1189337121a1baa74961813e619c99b398a333;p=Persons_Comparator.git diff --git a/src/Person.java b/src/Person.java index 387e921..6e5ff40 100644 --- a/src/Person.java +++ b/src/Person.java @@ -1,58 +1,111 @@ -import javax.swing.*; +import java.util.Comparator; -public class Person extends JPanel implements Comparable { +public class Person implements Comparator { private Firstname firstname; private Origin origin; + private Country country; private Size size; private Weight weight; private Eye eye; + private Integer distanceFromReference; - Person(Firstname firstname) { - setFirstname(firstname); + Person() { + setFirstname(new Firstname()); + setOrigin(new Origin()); + setCountry(new Country()); + setPersonSize(new Size()); + setWeight(new Weight()); + setEye(new Eye()); + setDistanceFromReference(0); } - public void setFirstname(Firstname firstname) { - this.firstname = firstname; + Person(String firstname, String countryName, Integer size, Integer weight, String colorEye) { + setFirstname(new Firstname(firstname)); + setOrigin(new Origin(countryName)); + setCountry(new Country(countryName)); + setPersonSize(new Size(size)); + setWeight(new Weight(weight)); + setEye(new Eye(colorEye)); + setDistanceFromReference(0); } public Firstname getFirstname() { return firstname; } - public void setOrigin(Origin origin) { - this.origin = origin; + public void setFirstname(Firstname firstname) { + this.firstname = firstname; } public Origin getOrigin() { return origin; } - public void setPersonSize(Size size) { - this.size = size; + public void setOrigin(Origin origin) { + this.origin = origin; + } + + public Country getCountry() { + return country; + } + + public void setCountry(Country country) { + this.country = country; } public Size getPersonSize() { return size; } - public void setWeight(Weight weight) { - this.weight = weight; + public void setPersonSize(Size size) { + this.size = size; } public Weight getWeight() { return weight; } - public void setEye(Eye eye) { - this.eye = eye; + public void setWeight(Weight weight) { + this.weight = weight; } public Eye getEye() { return eye; } + public void setEye(Eye eye) { + this.eye = eye; + } + + public Integer getDistanceFromReference() { + return distanceFromReference; + } + + public void setDistanceFromReference(Integer distanceFromReference) { + this.distanceFromReference = distanceFromReference; + } + + @Override + public String toString() { + return "Person{" + + "firstname=" + firstname.getFirstname() + + ", origin=" + origin.getCountry() + + ", country=" + country.getName() + + ", size=" + size.getSize() + + ", weight=" + weight.getWeight() + + ", eye=" + eye.getStrColor() + "(" + this.getEye().getColor().getRed() + "," + this.getEye().getColor().getGreen() + "," + this.getEye().getColor().getBlue() + ")" + + ", distanceFromReference=" + this.getDistanceFromReference() + + '}'; + } + + public Integer distanceTo(Person person) { + return this.getFirstname().distanceTo(person.getFirstname()) + this.getOrigin().distanceTo(person.getOrigin()) + + this.getCountry().distanceTo(person.getCountry()) + this.getPersonSize().distanceTo(person.getPersonSize()) + + this.getWeight().distanceTo(person.getWeight()) + this.getEye().distanceTo(person.getEye()); + } + @Override - public int compareTo(Person person) { - return 0; + public int compare(Person p1, Person p2) { + return p1.getDistanceFromReference().compareTo(p2.getDistanceFromReference()); } }