/*******************************************************************************
* Copyright (c) 2012 - 2014 Red Hat, Inc. and others.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is made available under the terms of the
* Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
package org.jboss.tools.ws.ui.utils;
import java.util.ArrayList;
/**
* Extend the base node so it can track a list of children
* @author bfitzpat
*/
public class TreeParent extends TreeNode {
private ArrayList<TreeNode> children;
/**
* Constructor
* @param name
*/
public TreeParent(String name) {
super(name);
children = new ArrayList<TreeNode>();
}
/**
* Add a child to the child list
* @param child
*/
public void addChild(TreeNode child) {
children.add(child);
child.setParent(this);
}
/**
* Remove a child from the child list
* @param child
*/
public void removeChild(TreeNode child) {
children.remove(child);
child.setParent(null);
}
/**
* Get the list of children
* @return
*/
public TreeNode [] getChildren() {
return (TreeNode [])children.toArray(new TreeNode[children.size()]);
}
/**
* Does the node have children?
* @return
*/
public boolean hasChildren() {
return children.size()>0;
}
}