快速业务通道

基于java实现的多层目录结构 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-18

基于java实现的多层目录结构

时间:2011-03-23 BlogJava stone2083

最近在做小需求的时候,需要用到目录树,特地写了一个基于java的实现。

由于需求原因,目前只实现了读部分的功能--如何将平面节点build成树。动态新增,删除等功能尚未实现。

目录结构概念:

Node:目录节点,具备节点属性信息

NodeStore:平面目录节点持久化接口,提供方法如下:

public List<T> findByType(String type); -- 根据目录类型,获取该类型下所有的节点(平面节点)

public void add(T node);--将增加节点持久化

public void update(T node);--将修改节点持久化

public void delete(T node);--删除节点

public void move(T src, T target); --将移动节点持久化

NodeStore是一个接口,可以基于DB实现,也可以基于XML实现,或则其他你需要的方式。

Tree:目录树,主要职责:

通过NodeStore load某一类型目录的所有平面节点,build成树;

根据节点id号,查找相应的节点信息

动态新增,修改,删除,移动节点,通过NodeStore将变化持久化;

目录结构实现类图:(目前只实现了读方法)

児噐java糞?議謹蚊朕村潤更(2)

扮寂:2011-03-23 BlogJava stone2083

現貧Node?Tree窃議宰伉旗鷹

Node.java

1 public class Node implements Serializable, Comparable<Node> { 2 3     private static final long serialVersionUID = 8085266615416399579L; 4 5     private Integer id; // id催 6     private Integer parentId;// 幻牌id催 7     private String name;// 朕村兆 8     private String description;// 朕村宙峰 9     private String type;// 朕村窃侏 10 11     private Node parent;// 幻牌 12     private List<Node> children;// 隅徨 13 14     /** 15      * 耶紗徨准泣,旺拝秀羨嚥輝念准泣議幻徨購狼 16      * 17      * @param child 隅徨准泣 18      */ 19     public void addChild(Node child) { 20         if (child == null) { 21             return; 22         } 23         // 譜崔輝念准泣葎child議幻准泣 24         child.setParent(this); 25         // 輝念准泣奐紗child葎隅徨准泣 26         if (getChildren() == null) { 27             setChildren(new ArrayList<Node>()); 28         } 29         getChildren().add(child); 30     } 31 32     /** 33      * 評茅徨准泣,旺拝秀羨嚥輝念准泣議幻徨購狼 34      * 35      * @param child 隅徨准泣 36      */ 37     public void removeChild(Node child) { 38         if (child == null) { 39             return; 40         } 41         // 繍child准泣議幻准泣賠腎 42         child.setParent(null); 43         if (getChildren() == null) { 44             return; 45         } 46         // 輝念准泣評茅child宸倖隅徨准泣 47         getChildren().remove(child); 48     } 49 50     /** 51      * 誼欺畠揃抄 52      * 53      * @param sep 蛍侯憲催 54      * @return 55      */ 56     public String ge

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号