Add listener to specific events like country selection.
[Persons_Comparator.git] / src / Origin.java
CommitLineData
1a2ddb85
JB
1import java.util.ArrayList;
2import java.util.Arrays;
3
1c118933 4public class Origin implements Comparable<Origin> {
1a2ddb85 5 private String continent = "Unknown";
97491195 6 private String country;
b4eb694d 7 private String[] continents = {"Africa", "Americas", "Asia", "Europe", "Oceania"};
1a2ddb85
JB
8 private String[][] content2DArray = {
9 {"Mali"}, /* Africa */
10 {"United States of America", "Brasil", "Mexico"}, /* Americas */
11 {"India"}, /* Asia */
7403fee4 12 {"France", "Germany", "United Kingdom", "Belgium", "Norway"}, /* Europe */
1a2ddb85
JB
13 {"Australia"} /* Oceania */
14 };
97491195 15
b974e749
JB
16 Origin() {
17 }
18
19 Origin(String country) {
97491195 20 setCountry(country);
1a2ddb85 21 setContinent(this.getContinentFromCountry(country));
613054ac
JB
22 }
23
24 public String getContinent() {
25 return continent;
26 }
27
28 public void setContinent(String continent) {
29 this.continent = continent;
97491195
JB
30 }
31
32 public String getCountry() {
33 return country;
34 }
35
36 public void setCountry(String country) {
37 this.country = country;
38 }
1c118933 39
1a2ddb85
JB
40 public String[] getCountriesArray() {
41 ArrayList<String> stringArrayList = new ArrayList<>();
42 for (int i = 0; i < this.content2DArray.length; i++) {
43 for (int j = 0; j < this.content2DArray[i].length; j++) {
44 stringArrayList.add(this.content2DArray[i][j]);
45 }
46 }
47 stringArrayList.sort(String::compareToIgnoreCase);
48 String[] rtArray = new String[stringArrayList.size()];
49 return stringArrayList.toArray(rtArray);
50 }
51
c8da8eb7 52 public String getContinentFromCountry(String country) {
1a2ddb85
JB
53 int continentKey = -1;
54 for (int i = 0; i < content2DArray.length; i++) {
55 if (Arrays.asList(content2DArray[i]).indexOf(country) != -1) {
56 continentKey = i;
57 }
58 }
59 if (continentKey != -1)
60 return this.continents[continentKey];
61 else
62 return "Unknown";
63 }
64
1c118933
JB
65 @Override
66 public int compareTo(Origin origin) {
67 return 0;
68 }
97491195 69}