package test.tbltree;

import java.util.ArrayList;

import com.ulcjava.base.application.tabletree.ITableTreeNode;

public class TreeNode implements ITableTreeNode {
	private String[] values = null;
	private TreeNode parent = null;
	private ArrayList<TreeNode> children = null;
	
	public TreeNode(int val){
		values = new String[32];
		for(int i=0;i<values.length;i++)
			values[i]=String.valueOf(val);
		children = new ArrayList<TreeNode>();
		
	}
	
	public void addChild(TreeNode child){
		children.add(child);
		child.setParent(this);
	}

	public ITableTreeNode getChildAt(int index) {
		return children.get(index);
	}

	public int getChildCount() {
		return children.size();
	}

	public int getIndex(ITableTreeNode arg0) {
		return children.indexOf(arg0);
	}

	public ITableTreeNode getParent() {
		return parent;
	}

	public Object getValueAt(int column) {
		return values[column];
	}

	public boolean isLeaf() {
		if(children.size()==0)
			return true;
		else
			return false;
	}

	/**
	 * @return the children
	 */
	public ArrayList<TreeNode> getChildren() {
		return children;
	}

	/**
	 * @param children the children to set
	 */
	public void setChildren(ArrayList<TreeNode> children) {
		this.children = children;
	}

	/**
	 * @param parent the parent to set
	 */
	public void setParent(TreeNode parent) {
		this.parent = parent;
	}

}
