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 class=\"navigationMenu\">");
43 for (final NavigationItem item : rootNavigationItem.getSubElements()) {
45 if (item == selectedItem)
46 result.append("<a class=\"menuItemSelected\" href=\""
47 + item.getLink() + "\">");
49 result.append("<a class=\"menuItem\" href=\"" + item.getLink()
52 result.append(item.getTitle());
53 result.append("</a>");
56 result.append("</div>");
58 return result.toString();
61 public void setDefaultNavigationItem(
62 final NavigationItem defaultNavigationItem) {
63 this.defaultNavigationItem = defaultNavigationItem;
66 public void setRootNavigationItem(final NavigationItem rootNavigationItem) {
67 this.rootNavigationItem = rootNavigationItem;