package com.ycsoft.report.query.tree;
/**
*
* @author new
*
* @param <T>
*/
public class QManyTree<T> {
// 树根
private QManyNode<T> root;
// 构造函数
public QManyTree(){
root=new QManyNode<T>();
}
public QManyTree(QData<T> data){
root=new QManyNode<T>(data);
}
// 遍历多叉树
public String iteratorTree(QManyNode<T> treeNode) {
StringBuilder sb = new StringBuilder();
if (treeNode != null) {
if(treeNode.getNodeData()!=null)
sb.append(treeNode.getNodeData().getKey()+",");
if(treeNode.isLeaf()) return sb.toString();
for (QManyNode<T> index : treeNode.getChildList()) {
sb.append(index.getNodeData().getKey() + ",");
if (!index.isLeaf() )
sb.append(iteratorTree(index));
}
}
return sb.toString();
}
/**
* 获取根节点
* @return
*/
public QManyNode<T> getRoot() {
return root;
}
}