navitem.java

来自「RESIN 3.2 最新源码」· Java 代码 · 共 230 行

JAVA
230
字号
/* * Copyright (c) 1998-2000 Caucho Technology -- all rights reserved * * This file is part of Resin(R) Open Source * * Each copy or derived work must preserve the copyright notice and this * notice unmodified. * * Resin Open Source is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Resin Open Source is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, or any warranty * of NON-INFRINGEMENT.  See the GNU General Public License for more * details. * * You should have received a copy of the GNU General Public License * along with Resin Open Source; if not, write to the *   Free SoftwareFoundation, Inc. *   59 Temple Place, Suite 330 *   Boston, MA 02111-1307  USA * * @author Scott Ferguson * * $Id: NavItem.java,v 1.2 2004/09/29 00:13:49 cvs Exp $ */package com.caucho.web;import com.caucho.util.Tree;import java.util.ArrayList;import java.util.Iterator;public class NavItem {  Tree tree;  String title;  String link;  String description;  String brief;  String _product;  NavItem()  {  }  void setTree(Tree tree)  {    this.tree = tree;  }  /**   * Returns the underlying tree.   */  Tree getTree()  {    return tree;  }  /**   * Returns the parent item.   */  public NavItem getParent()  {    if (tree == null)      return null;        Tree parent = tree.getParent();    return parent == null ? null : (NavItem) parent.getData();  }  public Iterator children()  {    return tree.iterator();  }  public String getTitle()  {    return title;  }  public void setTitle(String title)  {    this.title = title;  }  public String getProduct()  {    return _product;  }  public void setProduct(String product)  {    _product = product;  }  public String getBrief()  {    return brief;  }  public void setBrief(String brief)  {    this.brief = brief;  }  public String getLink()  {    return link;  }  public void setLink(String link)  {    this.link = link;  }  public String getDescription()  {    return description;  }  public void setDescription(String description)  {    this.description = description;  }  /**   * Returns the previous sibling.   */  public NavItem getPrevious()  {    Tree prevTree = tree.getPrevious();        if (prevTree == null)      return null;    else      return (NavItem) prevTree.getData();  }  /**   * Returns the previous item in a preorder DFS traversal.   */  public NavItem getPreviousPreorder()  {    Tree prevTree = tree.getPreviousPreorder();        if (prevTree == null)      return null;    else      return (NavItem) prevTree.getData();  }  /**   * Returns the next sibling item.   */  public NavItem getNext()  {    Tree nextTree = tree.getNext();        if (nextTree == null)      return null;    else      return (NavItem) nextTree.getData();  }  /**   * Returns the next item in a preorder DFS traversal.   */  public NavItem getNextPreorder()  {    Tree nextTree = tree.getNextPreorder();        if (nextTree == null)      return null;    else      return (NavItem) nextTree.getData();  }  /**   * Returns the specialized family navigation   */  public ArrayList familyNavigation()  {    ArrayList list = new ArrayList();    familyNavigation(tree, list);    return list;  }  /**   * Specialized to get a family navigation.   */  private boolean familyNavigation(Tree tree, ArrayList results)  {    if (tree == null) {      return false;    }    boolean hasParent = false;    if (tree.getParent() != null) {      hasParent = familyNavigation(tree.getParent(), results);    }    Iterator iter = tree.iterator();    boolean hasChild = false;    while (iter.hasNext()) {      NavItem child = (NavItem) iter.next();      if (! hasChild && hasParent)        results.add(null);            hasChild = true;      results.add(child);    }    return hasChild || hasParent;  }  public String toString()  {    return "[NavItem title='" + title + "' link='" + link + "']";  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?