* Add Levenshtein distance to Firstname class Comparable.
[Persons_Comparator.git] / src / Person.java
index 387e921dc72689881b21f329e828b242e17ed306..d1ceb350724cbae919c3642f77b51fa8548278f2 100644 (file)
@@ -1,14 +1,18 @@
-import javax.swing.*;
+import java.util.Comparator;
 
-public class Person extends JPanel implements Comparable<Person> {
+public class Person implements Comparable<Person>, Comparator<Person> {
     private Firstname firstname;
     private Origin origin;
     private Size size;
     private Weight weight;
     private Eye eye;
 
-    Person(Firstname firstname) {
+    Person(Firstname firstname, Origin origin, Size size, Weight weight, Eye eye) {
         setFirstname(firstname);
+        setOrigin(origin);
+        setPersonSize(size);
+        setWeight(weight);
+        setEye(eye);
     }
 
     public void setFirstname(Firstname firstname) {
@@ -53,6 +57,13 @@ public class Person extends JPanel implements Comparable<Person> {
 
     @Override
     public int compareTo(Person person) {
-        return 0;
+        return this.firstname.compareTo(person.getFirstname()) + this.origin.compareTo(person.getOrigin())
+                + this.size.compareTo(person.getPersonSize()) + this.weight.compareTo(person.getWeight())
+                + this.eye.compareTo(person.getEye());
+    }
+
+    @Override
+    public int compare(Person p1, Person p2) {
+        return p1.compareTo(p2);
     }
 }