package net.sourceforge.phpdt.sql.view.bookmark;
+import java.net.MalformedURLException;
+
+import org.eclipse.swt.graphics.Image;
+
+import net.sourceforge.phpdt.sql.model.Sequence;
+import net.sourceforge.phpdt.sql.sql.metadata.ObjectMetaData;
+
public class SequenceNode implements TreeNode, Comparable {
- private BookmarkNode parent;
- private String name;
+ private GroupNode parent;
+ private Sequence sequence;
- public SequenceNode(BookmarkNode parent, String seqName) {
+ public SequenceNode(GroupNode parent, Sequence sequence) {
this.parent = parent;
- this.name = seqName;
+ this.sequence = sequence;
}
+ public ObjectMetaData getMetaData() {
+ return null; //no metadata implementation for now
+ }
+
public Object[] getChildren() {
return Root.EMPTY_ARRAY;
}
}
public String getName() {
- return name;
+ return this.sequence.getQualifiedName();
}
public String toString() {
- return name;
+ return getName();
}
public int compareTo(Object o) {
if (o instanceof SequenceNode) {
SequenceNode node = (SequenceNode) o;
- return name.compareTo(node.getName());
+ return getName().compareTo(node.getName());
} else if (o instanceof TreeNode || o instanceof ViewNode) {
return 1;
}
return 0;
}
+ /**
+ * @return an Image object to appear in the view
+ * @throws MalformedURLException
+ */
+ public Image getImage() throws MalformedURLException {
+ if (parent instanceof GroupNode){
+ GroupNode group = (GroupNode) parent;
+ return group.getImage();
+ } else
+ return null;
+ }
+
+ /**
+ * @return the associated BookmarkNode, by navigating upwards in the tree
+ */
+ public BookmarkNode getBookmark() {
+ TreeNode node = parent;
+ while (!( node instanceof BookmarkNode))
+ {
+ node = (TreeNode) node.getParent();
+ }
+ return (BookmarkNode) node;
+ }
+
}