/**
*
*/
package se.sics.kompics.ide.views;
import java.util.ArrayList;
import org.eclipse.core.runtime.IAdaptable;
/**
* The <code>TreeObject</code> .
*
* @author Lars Kroll <lkr@lars-kroll.com>
* @version $Id: $
*
*/
public class TreeObject implements IAdaptable {
private String name;
private TreeObject parent;
private ArrayList<TreeObject> children = new ArrayList<TreeObject>();
public TreeObject(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setParent(TreeObject parent) {
this.parent = parent;
}
public TreeObject getParent() {
return parent;
}
/**
* @return the children
*/
public TreeObject[] getChildren() {
return children.toArray(new TreeObject[children.size()]);
}
public void addChild(TreeObject child) {
children.add(child);
child.setParent(this);
}
public void removeChild(TreeObject child) {
children.remove(child);
child.setParent(null);
}
public boolean hasChildren() {
return !children.isEmpty();
}
public int countChildren() {
return children.size();
}
public String toString() {
return getName();
}
/*
* (non-Javadoc)
*
* @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
*/
@Override
public Object getAdapter(Class adapter) {
// TODO Auto-generated method stub
return null;
}
}