+package eu.svjatoslav.commons.network.navigation;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+
+public class Navigation {
+
+ private NavigationItem rootNavigationItem;
+
+ private NavigationItem defaultNavigationItem;
+
+ public NavigationItem getRootNavigationItem() {
+ return rootNavigationItem;
+ }
+
+ public NavigationItem getSelectedItem(final String requestUrl) {
+
+ try {
+ final String requestPath = new URL(requestUrl).getPath();
+
+ for (final NavigationItem item : rootNavigationItem.subElements)
+ if (item.matchesUrl(requestPath))
+ return item;
+ } catch (final MalformedURLException e) {
+ System.out.println("Cannot handle URL: " + requestUrl);
+ e.printStackTrace();
+ }
+
+ return defaultNavigationItem;
+ }
+
+ public String getTopMenu(final String requestUrl) {
+
+ final NavigationItem selectedItem = getSelectedItem(requestUrl);
+ final StringBuffer result = new StringBuffer();
+
+ result.append("<div id=\"topNavigation\">");
+
+ for (final NavigationItem item : rootNavigationItem.getSubElements()) {
+
+ if (item == selectedItem)
+ result.append("<a class=\"selected\" href=\"" + item.getLink()
+ + "\">");
+ else
+ result.append("<a href=\"" + item.getLink() + "\">");
+
+ result.append(item.getTitle());
+ result.append("</a>");
+ }
+
+ result.append("</div>");
+
+ return result.toString();
+ }
+
+ public void setRootNavigationItem(final NavigationItem rootNavigationItem) {
+ this.rootNavigationItem = rootNavigationItem;
+ }
+
+}