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