Add listener to specific events like country selection.
[Persons_Comparator.git] / src / Origin.java
index 72ecd832a6999acd5cfd49ba30ae1bf65b6f7498..7d3e855c30ca7cb28690d408ffb61df29bde6ce9 100644 (file)
@@ -1,8 +1,32 @@
-public class Origin {
+import java.util.ArrayList;
+import java.util.Arrays;
+
+public class Origin implements Comparable<Origin> {
+    private String continent = "Unknown";
     private String country;
+    private String[] continents = {"Africa", "Americas", "Asia", "Europe", "Oceania"};
+    private String[][] content2DArray = {
+            {"Mali"}, /* Africa */
+            {"United States of America", "Brasil", "Mexico"}, /* Americas */
+            {"India"}, /* Asia */
+            {"France", "Germany", "United Kingdom", "Belgium", "Norway"}, /* Europe */
+            {"Australia"} /* Oceania */
+    };
+
+    Origin() {
+    }
 
     Origin(String country) {
         setCountry(country);
+        setContinent(this.getContinentFromCountry(country));
+    }
+
+    public String getContinent() {
+        return continent;
+    }
+
+    public void setContinent(String continent) {
+        this.continent = continent;
     }
 
     public String getCountry() {
@@ -12,4 +36,34 @@ public class Origin {
     public void setCountry(String country) {
         this.country = country;
     }
+
+    public String[] getCountriesArray() {
+        ArrayList<String> stringArrayList = new ArrayList<>();
+        for (int i = 0; i < this.content2DArray.length; i++) {
+            for (int j = 0; j < this.content2DArray[i].length; j++) {
+                stringArrayList.add(this.content2DArray[i][j]);
+            }
+        }
+        stringArrayList.sort(String::compareToIgnoreCase);
+        String[] rtArray = new String[stringArrayList.size()];
+        return stringArrayList.toArray(rtArray);
+    }
+
+    public String getContinentFromCountry(String country) {
+        int continentKey = -1;
+        for (int i = 0; i < content2DArray.length; i++) {
+            if (Arrays.asList(content2DArray[i]).indexOf(country) != -1) {
+                continentKey = i;
+            }
+        }
+        if (continentKey != -1)
+            return this.continents[continentKey];
+        else
+            return "Unknown";
+    }
+
+    @Override
+    public int compareTo(Origin origin) {
+        return 0;
+    }
 }