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 getRootNavigationItem() {
13 return rootNavigationItem;
16 public NavigationItem getSelectedItem(final String requestUrl) {
19 final String requestPath = new URL(requestUrl).getPath();
21 for (final NavigationItem item : rootNavigationItem.subElements)
22 if (item.matchesUrl(requestPath))
24 } catch (final MalformedURLException e) {
25 System.out.println("Cannot handle URL: " + requestUrl);
29 return defaultNavigationItem;
32 public String getTopMenu(final String requestUrl) {
34 final NavigationItem selectedItem = getSelectedItem(requestUrl);
35 final StringBuffer result = new StringBuffer();
37 result.append("<div id=\"topNavigation\">");
39 for (final NavigationItem item : rootNavigationItem.getSubElements()) {
41 if (item == selectedItem)
42 result.append("<a class=\"selected\" href=\"" + item.getLink()
45 result.append("<a href=\"" + item.getLink() + "\">");
47 result.append(item.getTitle());
48 result.append("</a>");
51 result.append("</div>");
53 return result.toString();
56 public void setRootNavigationItem(final NavigationItem rootNavigationItem) {
57 this.rootNavigationItem = rootNavigationItem;