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 : getRootNavigationItem()
46 if (item == selectedItem)
47 result.append("<a class=\"menuItemSelected\" href=\""
48 + item.getLink() + "\">");
50 result.append("<a class=\"menuItem\" href=\"" + item.getLink()
53 result.append("<div>" + item.getTitle() + "</div>");
54 result.append("</a>");
57 result.append("</div>");
59 return result.toString();
62 public void setDefaultNavigationItem(
63 final NavigationItem defaultNavigationItem) {
64 this.defaultNavigationItem = defaultNavigationItem;
67 public void setRootNavigationItem(final NavigationItem rootNavigationItem) {
68 this.rootNavigationItem = rootNavigationItem;