SQL Plugin copied from Quantum plugin and refactored for PHPEclipse
[phpeclipse.git] / archive / net.sourceforge.phpeclipse.sql / src / net / sourceforge / phpdt / sql / view / bookmark / ViewNode.java
1 package net.sourceforge.phpdt.sql.view.bookmark;
2
3 import java.util.Vector;
4
5 public class ViewNode implements TreeNode, Comparable  {
6     private BookmarkNode parent;
7     private Vector metadata;
8     private String name;
9     private int size = -1;
10     public ViewNode(BookmarkNode parent, String tableName) {
11         this.parent = parent;
12         this.name = tableName;
13     }
14
15         public Object getParent() {
16                 return parent;
17         }
18
19         public String getName() {
20                 return name;
21         }
22         
23         public String toString() {
24                 return name;
25         }
26
27         public int compareTo(Object o) {
28                 if (o instanceof ViewNode) {
29                         ViewNode node = (ViewNode) o;
30                         return name.compareTo(node.getName());
31                 } else if (o instanceof SequenceNode) {
32                         return -1;
33                 } else if (o instanceof TreeNode) {
34                         return 1;
35                 }
36                 return 0;
37         }
38         
39         public int getSize() {
40                 return size;
41         }
42
43         public void setSize(int size) {
44                 this.size = size;
45         }
46
47         public boolean hasChildren() {
48                 return (metadata != null) && (metadata.size() > 0);
49         }
50
51         public Object[] getChildren() {
52                 if (metadata != null) {
53                         return metadata.toArray();
54                 } else {
55                         return Root.EMPTY_ARRAY;
56                 }
57         }
58         
59         public void setMetadata(Vector metadata) {
60                 this.metadata = metadata;
61         }
62 }