package br.com.caelum.calopsita.model; import java.util.ArrayList; import java.util.List; import java.util.ResourceBundle; public class MenuItem { private final String label; private final List<SubmenuItem> submenu = new ArrayList<SubmenuItem>(); private final String contextPath; private final ResourceBundle bundle; MenuItem(String label, String contextPath) { this.label = label; this.contextPath = contextPath; bundle = ResourceBundle.getBundle("messages"); } public MenuItem add(SubmenuItem item) { this.submenu.add(item); return this; } public String getLabel() { return label; } @Override public String toString() { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append("<ul class=\"submenu\" id=\"menu_").append(label.replace('.', '_')).append("\">"); for (SubmenuItem item : submenu) { stringBuilder.append(String.format("<li><a href=\"%s%s\">%s</a></li>", contextPath, item.getUrl(), bundle.getString(item.getLabel()))); } stringBuilder.append("</ul>"); return stringBuilder.toString(); } }