1 package net.sourceforge.phpdt.sql.view.bookmark;
3 import java.util.Vector;
5 import org.eclipse.core.runtime.CoreException;
7 import net.sourceforge.phpdt.sql.bookmarks.Bookmark;
8 import net.sourceforge.phpdt.sql.sql.metadata.ObjectMetaData;
10 public class BookmarkNode extends Bookmark implements TreeNode {
11 private Vector children = new Vector();
12 public ObjectMetaData getMetaData() {
13 return null; //no metadata implementation for now
15 public BookmarkNode() {
18 public BookmarkNode(Bookmark bookmark) {
22 public Object[] getChildren() {
23 return children.toArray();
26 public Object getParent() {
30 public boolean hasChildren() {
31 if (children != null && children.size() > 0) {
37 public void setChildren(Vector children) {
38 for (int i = 0; i < children.size(); i++) {
39 Object obj = children.elementAt(i);
42 this.children = children;
45 public void isValid(Object child) {
46 boolean valid = false;
47 if (child instanceof TableNode ||
48 child instanceof ViewNode ||
49 child instanceof SequenceNode ||
50 child instanceof GroupNode) {
54 throw new RuntimeException("Invalid BookmarkNode child: " + child.getClass().getName()); //$NON-NLS-1$
58 public void dispose() throws CoreException {
65 * Finds a child of the BookmarkNode with the said name
67 * @return the TreeNode found. null if none
69 public TreeNode find(String name){
70 for (int i = 0; i < children.size(); i++) {
71 Object obj = children.elementAt(i);
72 if (obj instanceof TreeNode){
73 TreeNode node = (TreeNode) obj;
74 if (name.equals(node.getName())) return node;