--- a/src/java/de/uapcore/lightpit/Menu.java Sun Apr 08 16:51:15 2018 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,97 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright 2018 Mike Becker. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - */ -package de.uapcore.lightpit; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -/** - * Maps a resource key for the menu label to the path name for the underlying - * site. - * - * Objects of this class are internally instantiated by the - * {@link ModuleManager}. - */ -public class Menu extends MenuEntry { - - private final List<MenuEntry> entries = new ArrayList<>(); - private final List<MenuEntry> immutableEntries = Collections.unmodifiableList(entries); - - /** - * Class name of the module for which this menu is built. - */ - private String moduleClassName; - - - public Menu() { - super(); - } - - public Menu(String moduleClassName, ResourceKey resourceKey, String pathName) { - super(resourceKey, pathName); - this.moduleClassName = moduleClassName; - } - - public void setModuleClassName(String moduleClassName) { - this.moduleClassName = moduleClassName; - } - - public String getModuleClassName() { - return moduleClassName; - } - - /** - * Sets a new list of menu entries for this menu. - * - * @param entries the list of new menu entries - */ - public void setEntries(List<MenuEntry> entries) { - // in case the given list is immutable, we copy the contents - this.entries.clear(); - this.entries.addAll(entries); - } - - /** - * Retrieves an immutable list of menu entries for this menu. - * - * @return the list of menu entries - */ - public List<MenuEntry> getEntries() { - return immutableEntries; - } - - /** - * Adds a new menu entry to this menu. - * @param entry the menu entry to add - */ - public void addMenuEntry(MenuEntry entry) { - entries.add(entry); - } -}