support for localized navigation titles
[svjatoslav_commons.git] / src / main / java / eu / svjatoslav / commons / network / navigation / NavigationItem.java
index 6392fa9..fdf6985 100755 (executable)
@@ -1,27 +1,26 @@
 package eu.svjatoslav.commons.network.navigation;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
+import eu.svjatoslav.commons.network.Locale;
 import eu.svjatoslav.commons.string.WildCardMatcher;
 
 public class NavigationItem {
 
-       private final String title;
        private final String link;
        private final String matchingWildcard;
-
+       private final Map<Locale, String> titles = new HashMap<Locale, String>();
        ArrayList<NavigationItem> subElements = new ArrayList<NavigationItem>();
 
-       public NavigationItem(final String title, final String link) {
-               this.title = title;
+       public NavigationItem(final String link) {
                this.link = link;
                matchingWildcard = link;
        }
 
-       public NavigationItem(final String title, final String link,
-                       final String wildcard) {
-               this.title = title;
+       public NavigationItem(final String link, final String wildcard) {
                this.link = link;
                matchingWildcard = wildcard;
        }
@@ -30,6 +29,16 @@ public class NavigationItem {
                subElements.add(item);
        }
 
+       public NavigationItem addTitle(final Locale locale, final String title) {
+               titles.put(locale, title);
+               return this;
+       }
+
+       public NavigationItem addTitle(final String title) {
+               titles.put(Locale.ENG, title);
+               return this;
+       }
+
        public String getLink() {
                return link;
        }
@@ -39,7 +48,11 @@ public class NavigationItem {
        }
 
        public String getTitle() {
-               return title;
+               return titles.get(Locale.ENG);
+       }
+
+       public String getTitle(final Locale locale) {
+               return titles.get(locale);
        }
 
        public boolean matchesUrl(final String url) {