return defaultNavigationItem;
}
+ private String getGetNotNullString(final String string) {
+ if (string != null)
+ return string;
+
+ return "";
+ }
+
public NavigationItem getRootNavigationItem() {
return rootNavigationItem;
}
final NavigationItem selectedItem = getSelectedItem(request);
final StringBuffer result = new StringBuffer();
- result.append("<div class=\"navigationMenu\">");
+ result.append("<div class=\""
+ + getGetNotNullString(rootNavigationItem.getCssPrefix())
+ + "navigationMenu\">");
for (final NavigationItem item : getRootNavigationItem()
.getSubElements()) {
if (item == selectedItem)
- result.append("<a class=\"menuItemSelected\" href=\""
- + item.getLinkUrl() + "\">");
+ result.append("<a class=\""
+ + getGetNotNullString(item.getCssPrefix())
+ + "menuItemSelected\" href=\"" + item.getLinkUrl()
+ + "\">");
else
- result.append("<a class=\"menuItem\" href=\""
- + item.getLinkUrl() + "\">");
+ result.append("<a class=\""
+ + getGetNotNullString(item.getCssPrefix())
+ + "menuItem\" href=\"" + item.getLinkUrl() + "\">");
result.append("<div>" + item.getTitle() + "</div>");
result.append("</a>");
/*
* Svjatoslav Commons - shared library of common functionality.
* Copyright ©2012-2014, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
- *
+ *
* This program is free software; you can redistribute it and/or
* modify it under the terms of version 3 of the GNU Lesser General Public License
* or later as published by the Free Software Foundation.
private NavigationItem parent;
private final String linkUrl;
+ /**
+ * CSS prefix is inherited to child menu items.
+ */
+ private String cssPrefix;
+
public NavigationItem(final Locale... localeOrder) {
if (localeOrder.length == 0)
this.localeOrder = new Locale[] { Locale.ENG };
return item;
}
+ protected String getCssPrefix() {
+ if (cssPrefix != null)
+ return cssPrefix;
+
+ if (parent == null)
+ return null;
+
+ return parent.getCssPrefix();
+ }
+
public String getLinkUrl() {
return linkUrl;
}
return WildCardMatcher.match(url, matchingPattern);
}
+ public void setCssPrefix(final String cssPrefix) {
+ this.cssPrefix = cssPrefix;
+ }
+
public NavigationItem setPattern(final String pattern) {
matchingPattern = pattern;
return this;