Start the implementation of inputs gathering and the comparator code (still buggy...
[Persons_Comparator.git] / src / Person.java
index f0e5c6bc58fd5f3c8e24de2692e854b80ee96e97..4eabb1b9b651a662d6994799bbab666b78cae90f 100644 (file)
@@ -1,14 +1,32 @@
-import javax.swing.*;
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.ListIterator;
 
-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;
+    //List of persons in the database to compare to.
+    private ArrayList<Person> personArrayList;
 
-    Person(Firstname firstname) {
-        setFirstname(firstname);
+    Person() {
+        setFirstname(new Firstname());
+        setOrigin(new Origin());
+        setPersonSize(new Size());
+        setWeight(new Weight());
+        setEye(new Eye());
+        setPersonArrayList(new ArrayList<>());
+    }
+
+    Person(String firstname, String country, Integer size, Integer weight, String colorEye) {
+        setFirstname(new Firstname(firstname));
+        setOrigin(new Origin(country));
+        setPersonSize(new Size(size));
+        setWeight(new Weight(weight));
+        setEye(new Eye(colorEye));
+        setPersonArrayList(new ArrayList<>());
     }
 
     public void setFirstname(Firstname firstname) {
@@ -51,10 +69,47 @@ public class Person extends JPanel implements Comparable<Person> {
         return eye;
     }
 
+    public void setPersonArrayList(ArrayList<Person> personArrayList) {
+        this.personArrayList = personArrayList;
+    }
+
+    public ArrayList<Person> getPersonArrayList() {
+        return personArrayList;
+    }
+
+    public void displayArrayList(ArrayList arrayList) {
+        ListIterator iter = arrayList.listIterator();
+        Integer i = 0;
+        while (iter.hasNext()) {
+            System.out.println(i.toString() + " " + iter.next());
+            i++;
+        }
+    }
+
+    public void displayPersonArrayList() {
+        this.displayArrayList(this.personArrayList);
+    }
+
+    @Override
+    public String toString() {
+        return "Person{" +
+                "firstname=" + firstname.getFirstname() +
+                ", origin=" + origin.getCountry() +
+                ", size=" + size.getSize() +
+                ", weight=" + weight.getWeight() +
+                ", eye=" + eye.getStrColor() + "(" + this.getEye().getColor().getRed() + "," + this.getEye().getColor().getGreen() + "," + this.getEye().getColor().getBlue() + ")" +
+                '}';
+    }
+
     @Override
     public int compareTo(Person person) {
         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);
+    }
 }