Rev 154 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 154 | Rev 194 | ||
---|---|---|---|
Line 5... | Line 5... | ||
5 | import java.util.Locale; |
5 | import java.util.Locale; |
6 | 6 | ||
7 | import org.mentawai.list.ListData; |
7 | import org.mentawai.list.ListData; |
8 | import org.mentawai.list.SimpleListData; |
8 | import org.mentawai.list.SimpleListData; |
9 | 9 | ||
- | 10 | /**
|
|
- | 11 | * Model class Language.
|
|
- | 12 | *
|
|
- | 13 | * @author Sergio Oliveira
|
|
- | 14 | *
|
|
- | 15 | */
|
|
10 | public class Language { |
16 | public class Language { |
11 | 17 | ||
12 | private static final List<Language> LANGUAGES = new ArrayList<Language>(16); |
- | |
13 | - | ||
14 | private final int id; |
- | |
15 | private final String name; |
- | |
16 | private final Locale loc; |
- | |
17 | private final String imageFile; |
- | |
- | 18 | /** Attribute LANGUAGES of Language. */
|
|
- | 19 | private static final List<Language> LANGUAGES = new ArrayList<Language>(16); |
|
- | 20 | ||
- | 21 | /** Attribute id of Language. */
|
|
- | 22 | private final int id; |
|
- | 23 | /** Attribute name of Language. */
|
|
- | 24 | private final String name; |
|
- | 25 | /** Attribute loc of Language. */
|
|
- | 26 | private final Locale loc; |
|
- | 27 | /** Attribute imageFile of Language. */
|
|
- | 28 | private final String imageFile; |
|
18 | 29 | ||
19 | public Language(int code, String name, String locale, String imageFile) { |
30 | public Language(int code, String name, String locale, String imageFile) { |
20 | this.id = code; |
- | |
21 | this.name = name; |
- | |
22 | this.loc = getLocaleFromString(locale); |
- | |
23 | this.imageFile = imageFile; |
- | |
- | 31 | this.id = code; |
|
- | 32 | this.name = name; |
|
- | 33 | this.loc = getLocaleFromString(locale); |
|
- | 34 | this.imageFile = imageFile; |
|
24 | }
|
35 | }
|
25 | - | ||
- | 36 | ||
26 | public Language(int code, String name, String locale) { |
37 | public Language(int code, String name, String locale) { |
27 | this(code, name, locale, null); |
- | |
- | 38 | this(code, name, locale, null); |
|
28 | }
|
39 | }
|
29 | - | ||
- | 40 | ||
30 | public static void add(Language language) { |
41 | public static void add(Language language) { |
31 | LANGUAGES.add(language); |
- | |
- | 42 | LANGUAGES.add(language); |
|
32 | }
|
43 | }
|
33 | - | ||
- | 44 | ||
34 | public static Language getDefault() { |
45 | public static Language getDefault() { |
35 | if (LANGUAGES.isEmpty()) throw new IllegalStateException("No languages were defined!"); |
- | |
36 | return LANGUAGES.get(0); |
- | |
- | 46 | if (LANGUAGES.isEmpty()) throw new IllegalStateException("No languages were defined!"); |
|
- | 47 | return LANGUAGES.get(0); |
|
37 | }
|
48 | }
|
38 | 49 | ||
39 | public int getId() { |
50 | public int getId() { |
40 | return id; |
- | |
- | 51 | return id; |
|
41 | }
|
52 | }
|
42 | - | ||
- | 53 | ||
43 | public String getName() { |
54 | public String getName() { |
44 | return name; |
- | |
- | 55 | return name; |
|
45 | }
|
56 | }
|
46 | - | ||
- | 57 | ||
47 | public Locale getLocale() { |
58 | public Locale getLocale() { |
48 | return loc; |
- | |
- | 59 | return loc; |
|
49 | }
|
60 | }
|
50 | - | ||
- | 61 | ||
51 | public String getImageFile() { |
62 | public String getImageFile() { |
52 | return imageFile; |
- | |
- | 63 | return imageFile; |
|
53 | }
|
64 | }
|
54 | - | ||
- | 65 | ||
55 | @Override |
66 | @Override |
56 | public String toString() { |
67 | public String toString() { |
57 | return name; |
- | |
- | 68 | return name; |
|
58 | }
|
69 | }
|
59 | - | ||
- | 70 | ||
60 | public static ListData getListData() { |
71 | public static ListData getListData() { |
61 | SimpleListData list = new SimpleListData("languages"); |
- | |
62 | for(Language l : LANGUAGES) { |
- | |
63 | list.add(l.getId(), l.getName()); |
- | |
64 | }
|
- | |
65 | return list; |
- | |
- | 72 | SimpleListData list = new SimpleListData("languages"); |
|
- | 73 | for(Language l : LANGUAGES) { |
|
- | 74 | list.add(l.getId(), l.getName()); |
|
- | 75 | }
|
|
- | 76 | return list; |
|
66 | }
|
77 | }
|
67 | - | ||
- | 78 | ||
68 | public static Language fromId(int id) { |
79 | public static Language fromId(int id) { |
69 | for(Language l : LANGUAGES) { |
- | |
70 | if (l.getId() == id) return l; |
- | |
71 | }
|
- | |
72 | return null; |
- | |
- | 80 | for(Language l : LANGUAGES) { |
|
- | 81 | if (l.getId() == id) return l; |
|
- | 82 | }
|
|
- | 83 | return null; |
|
73 | }
|
84 | }
|
74 | - | ||
- | 85 | ||
75 | public static Language fromLocale(Locale loc) { |
86 | public static Language fromLocale(Locale loc) { |
76 | if (loc == null) return null; |
- | |
77 | for(Language l : LANGUAGES) { |
- | |
78 | if (l.getLocale().equals(loc)) return l; |
- | |
79 | }
|
- | |
80 | for(Language l : LANGUAGES) { |
- | |
81 | if (l.getLocale().getLanguage().equals(loc.getLanguage())) { |
- | |
82 | return l; |
- | |
83 | }
|
- | |
84 | }
|
- | |
85 | return null; |
- | |
- | 87 | if (loc == null) return null; |
|
- | 88 | for(Language l : LANGUAGES) { |
|
- | 89 | if (l.getLocale().equals(loc)) return l; |
|
- | 90 | }
|
|
- | 91 | for(Language l : LANGUAGES) { |
|
- | 92 | if (l.getLocale().getLanguage().equals(loc.getLanguage())) { |
|
- | 93 | return l; |
|
- | 94 | }
|
|
- | 95 | }
|
|
- | 96 | return null; |
|
86 | }
|
97 | }
|
87 | - | ||
- | 98 | ||
88 | public static Language fromLocale(String s) { |
99 | public static Language fromLocale(String s) { |
89 | if (s == null) return null; |
- | |
90 | Locale loc = getLocaleFromString(s); |
- | |
91 | return fromLocale(loc); |
- | |
- | 100 | if (s == null) return null; |
|
- | 101 | Locale loc = getLocaleFromString(s); |
|
- | 102 | return fromLocale(loc); |
|
92 | }
|
103 | }
|
93 | - | ||
- | 104 | ||
94 | public static Language fromName(String name) { |
105 | public static Language fromName(String name) { |
95 | if (name == null) return null; |
- | |
96 | for(Language l : LANGUAGES) { |
- | |
97 | if (l.getName().equalsIgnoreCase(name)) return l; |
- | |
98 | }
|
- | |
99 | return null; |
- | |
- | 106 | if (name == null) return null; |
|
- | 107 | for(Language l : LANGUAGES) { |
|
- | 108 | if (l.getName().equalsIgnoreCase(name)) return l; |
|
- | 109 | }
|
|
- | 110 | return null; |
|
100 | }
|
111 | }
|
101 | - | ||
- | 112 | ||
102 | public static Locale getLocaleFromString(String s) { |
113 | public static Locale getLocaleFromString(String s) { |
103 | if (s == null) return null; |
- | |
- | 114 | if (s == null) return null; |
|
104 | String[] temp = s.split("_"); |
115 | String[] temp = s.split("_"); |
105 | if (temp.length == 1) { |
116 | if (temp.length == 1) { |
106 | return new Locale(temp[0]); |
117 | return new Locale(temp[0]); |
107 | } else if (temp.length == 2) { |
118 | } else if (temp.length == 2) { |
108 | return new Locale(temp[0], temp[1]); |
119 | return new Locale(temp[0], temp[1]); |
109 | } else if (temp.length == 3) { |
120 | } else if (temp.length == 3) { |
110 | return new Locale(temp[0], temp[1], temp[2]); |
121 | return new Locale(temp[0], temp[1], temp[2]); |
111 | }
|
122 | }
|
112 | return null; |
123 | return null; |
113 | }
|
124 | }
|
114 | - | ||
- | 125 | ||
115 | public static List<Language> all() { |
126 | public static List<Language> all() { |
116 | return LANGUAGES; |
- | |
- | 127 | return LANGUAGES; |
|
117 | }
|
128 | }
|
118 | - | ||
- | 129 | ||
119 | public static void clear() { |
130 | public static void clear() { |
120 | LANGUAGES.clear(); |
- | |
- | 131 | LANGUAGES.clear(); |
|
121 | }
|
132 | }
|
122 | }
|
133 | }
|