/*************************************************** * * cismet GmbH, Saarbruecken, Germany * * ... and it just works. * ****************************************************/ package Sirius.navigator.types.treenode; import Sirius.navigator.resource.ResourceManager; import Sirius.server.middleware.types.MetaNode; import Sirius.server.middleware.types.Node; import org.apache.log4j.Logger; import javax.swing.ImageIcon; /** * DOCUMENT ME! * * @version $Revision$, $Date$ */ public class PureTreeNode extends DefaultMetaTreeNode { //~ Static fields/initializers --------------------------------------------- private static final transient Logger LOG = Logger.getLogger(PureTreeNode.class); private static final ResourceManager resource = ResourceManager.getManager(); //~ Instance fields -------------------------------------------------------- private final transient ImageIcon openIcon; private final transient ImageIcon closedIcon; private final transient ImageIcon leafIcon; //~ Constructors ----------------------------------------------------------- /** * Creates a new PureTreeNode object. * * @param metaNode DOCUMENT ME! */ public PureTreeNode(final MetaNode metaNode) { super(metaNode); openIcon = resource.getIcon("NodeIconOpen.gif"); // NOI18N closedIcon = resource.getIcon("NodeIconClosed.gif"); // NOI18N leafIcon = resource.getIcon("NodeIconClosed.gif"); // NOI18N } //~ Methods ---------------------------------------------------------------- /** * DOCUMENT ME! * * @return DOCUMENT ME! */ public MetaNode getMetaNode() { return (MetaNode)this.userObject; } // DefaultMetaTreeNode Methods ----------------------------------------------- @Override public TreeNodeLoader getTreeNodeLoader() { return ((DefaultMetaTreeNode)this.getParent()).getTreeNodeLoader(); } // -------------------------------------------------------------------------- @Override public final synchronized void explore() throws Exception { if (LOG.isDebugEnabled()) { LOG.debug("[PureNode] Begin explore()"); // NOI18N } if (!isExplored() && !getMetaNode().isLeaf()) { this.explored = this.getTreeNodeLoader().addChildren(this); } if (LOG.isDebugEnabled()) { LOG.debug("[PureNode] End explore()"); // NOI18N } } @Override public final boolean isRootNode() { return false; } @Override public final boolean isWaitNode() { return false; } @Override public final boolean isObjectNode() { return false; } @Override public final boolean isPureNode() { return true; } @Override public final boolean isClassNode() { return false; } // --------------------------------------------------------------------------- @Override public final String toString() { return getMetaNode().getName(); } @Override public final String getDescription() { return getMetaNode().getDescription(); } @Override public final ImageIcon getOpenIcon() { return this.openIcon; } @Override public final ImageIcon getClosedIcon() { return this.closedIcon; } @Override public final ImageIcon getLeafIcon() { return this.leafIcon; } @Override public final boolean equals(final DefaultMetaTreeNode node) { if (LOG.isDebugEnabled()) { LOG.debug("equals pure node :" + node); // NOI18N } if (node.isPureNode() && (this.getID() == node.getID()) && this.getDomain().equals(node.getDomain())) { if (LOG.isDebugEnabled()) { LOG.debug("equals pure node :" + node); // NOI18N } return true; } else { return false; } } @Override public final boolean equalsNode(final Node node) { if ((node instanceof MetaNode) && getMetaNode().getDomain().equals(node.getDomain()) && (getMetaNode().getId() == node.getId())) { return true; } else { return false; } } // =========================================================================== @Override public final int getID() { return getMetaNode().getId(); } @Override public final String getDomain() { return getMetaNode().getDomain(); } @Override public final int getClassID() { return getMetaNode().getClassId(); } @Override public String getKey() throws Exception { // XXX ??? return null; } }