1 package eu.svjatoslav.commons.network.navigation;
3 import java.net.MalformedURLException;
6 public class Navigation {
8 private NavigationItem rootNavigationItem;
10 private NavigationItem defaultNavigationItem;
12 public NavigationItem getDefaultNavigationItem() {
13 return defaultNavigationItem;
16 public NavigationItem getRootNavigationItem() {
17 return rootNavigationItem;
20 public NavigationItem getSelectedItem(final String requestUrl) {
23 final String requestPath = new URL(requestUrl).getPath();
25 for (final NavigationItem item : rootNavigationItem.subElements)
26 if (item.matchesUrl(requestPath))
28 } catch (final MalformedURLException e) {
29 System.out.println("Cannot handle URL: " + requestUrl);
33 return getDefaultNavigationItem();
36 public String getTopMenu(final String requestUrl) {
38 final NavigationItem selectedItem = getSelectedItem(requestUrl);
39 final StringBuffer result = new StringBuffer();
41 result.append("<div id=\"topNavigation\">");
43 for (final NavigationItem item : rootNavigationItem.getSubElements()) {
45 if (item == selectedItem)
46 result.append("<a class=\"selected\" href=\"" + item.getLink()
49 result.append("<a href=\"" + item.getLink() + "\">");
51 result.append(item.getTitle());
52 result.append("</a>");
55 result.append("</div>");
57 return result.toString();
60 public void setDefaultNavigationItem(
61 final NavigationItem defaultNavigationItem) {
62 this.defaultNavigationItem = defaultNavigationItem;
65 public void setRootNavigationItem(final NavigationItem rootNavigationItem) {
66 this.rootNavigationItem = rootNavigationItem;