package org.treblereel.gwt.widget.client; import java.util.ArrayList; import java.util.List; import com.google.gwt.safehtml.shared.SafeHtml; import com.google.gwt.view.client.ProvidesKey; public class TreeNode<T> implements SafeHtml { private static final long serialVersionUID = -7873482601959843088L; private List<T> children; protected T parent; private int level; private boolean isExpand,isChildrenSelected; public TreeNode() { children = new ArrayList<T>(); } public String asString() { return null; } public List<T> getChildren() { return children; } public int getLevel() { return level; } public T getParent() { return parent; } public boolean isExpand() { return isExpand; } public boolean isLeaf() { if (this.children == null || this.children.size() == 0) { return true; } return false; } public void setChildren(List<T> children) { this.children = children; } public void setExpand(boolean expand) { this.isExpand = expand; } public void setLevel(int l) { this.level = l; } @SuppressWarnings("unchecked") public void setParent(T parent) { this.parent = parent; if (parent == null) { this.level = 0; } else { setLevel(((TreeNode<T>) parent).getLevel() + 1); } } boolean isChidlrenSelected() { return isChildrenSelected; } void setChildrenSelected(boolean isChilrenSelected) { this.isChildrenSelected = isChilrenSelected; } }