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 GroupNode parent; private Sequence sequence; public SequenceNode(GroupNode parent, Sequence sequence) { this.parent = parent; this.sequence = sequence; } public ObjectMetaData getMetaData() { return null; //no metadata implementation for now } public Object[] getChildren() { return Root.EMPTY_ARRAY; } public Object getParent() { return parent; } public boolean hasChildren() { return false; } public String getName() { return this.sequence.getQualifiedName(); } public String toString() { return getName(); } public int compareTo(Object o) { if (o instanceof SequenceNode) { SequenceNode node = (SequenceNode) o; 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; } }