/** * Copyright (c) 2009--2014 Red Hat, Inc. * * This software is licensed to you under the GNU General Public License, * version 2 (GPLv2). There is NO WARRANTY for this software, express or * implied, including the implied warranties of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 * along with this software; if not, see * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. * * Red Hat trademarks are not licensed under GPLv2. No permission is * granted to use or replicate Red Hat trademarks that are incorporated * in this software or its documentation. */ package com.redhat.rhn.frontend.nav; import org.apache.commons.lang.builder.ToStringBuilder; import org.apache.commons.lang.builder.ToStringStyle; import java.util.ArrayList; import java.util.Collections; import java.util.List; /** * Class representing a navigation tree * @version $Rev$ */ public class NavTree { private String label; private int titleDepth; private boolean invisible; private String formvar; private List<NavNode> nodes; private String aclMixins; private AclGuard guard; /** default constructor */ public NavTree() { titleDepth = 0; invisible = false; nodes = new ArrayList<NavNode>(); } /** Adds a node to the tree @param n node added to tree */ public void addNode(NavNode n) { nodes.add(n); } /** * Gets the top-level nodes associated with the tree * @return List of the nodes */ public List<NavNode> getNodes() { return Collections.unmodifiableList(nodes); } /** * Gets the current value of label * @return String the current value */ public String getLabel() { return this.label; } /** * Sets the value of label to new value * @param labelIn New value for label */ public void setLabel(String labelIn) { this.label = labelIn; } /** * Gets the current value of titleDepth * @return int the current value */ public int getTitleDepth() { return this.titleDepth; } /** * Sets the value of titleDepth to new value * @param titleDepthIn New value for titleDepth */ public void setTitleDepth(int titleDepthIn) { this.titleDepth = titleDepthIn; } /** * Gets the current value of invisible * @return boolean the current value */ public boolean getInvisible() { return this.invisible; } /** * Sets the value of invisible to new value * @param invisibleIn New value for invisible */ public void setInvisible(boolean invisibleIn) { this.invisible = invisibleIn; } /** * Gets the current value of formvar * @return String the current value */ public String getFormvar() { return this.formvar; } /** * Sets the value of formvar to new value * @param formVarIn New value for label */ public void setFormvar(String formVarIn) { this.formvar = formVarIn; } /** * Gets the current value of aclMixins * @return String the current value */ public String getAclMixins() { return this.aclMixins; } /** * Sets the value of aclMixins to new value * @param aclMixinsIn New value for aclMixins */ public void setAclMixins(String aclMixinsIn) { this.aclMixins = aclMixinsIn; } /** * String version of tree * @return String the stringified tree */ public String toString() { return ToStringBuilder.reflectionToString(this, ToStringStyle.MULTI_LINE_STYLE); } /** * @return Returns the guard. */ public AclGuard getGuard() { return guard; } /** * NavMenuTag sets this instance because the request is used for context * @param guardIn The guard to set. */ public void setGuard(AclGuard guardIn) { this.guard = guardIn; } }