1 package eu.svjatoslav.commons.network.navigation;
3 import java.util.ArrayList;
4 import java.util.HashMap;
8 import eu.svjatoslav.commons.network.Locale;
9 import eu.svjatoslav.commons.string.WildCardMatcher;
11 public class NavigationItem {
13 private final String link;
14 private final String matchingWildcard;
15 private final Map<Locale, String> titles = new HashMap<Locale, String>();
16 ArrayList<NavigationItem> subElements = new ArrayList<NavigationItem>();
18 public NavigationItem(final String link) {
20 matchingWildcard = link;
23 public NavigationItem(final String link, final String wildcard) {
25 matchingWildcard = wildcard;
28 public void addSubNavigation(final NavigationItem item) {
29 subElements.add(item);
32 public NavigationItem addTitle(final Locale locale, final String title) {
33 titles.put(locale, title);
37 public NavigationItem addTitle(final String title) {
38 titles.put(Locale.ENG, title);
42 public String getLink() {
46 public List<NavigationItem> getSubElements() {
50 public String getTitle() {
51 return titles.get(Locale.ENG);
54 public String getTitle(final Locale locale) {
55 return titles.get(locale);
58 public boolean matchesUrl(final String url) {
60 return WildCardMatcher.match(url, matchingWildcard);