package nl.fontys.sofa.limo.view.node.root; import java.awt.Image; import javax.swing.Action; import nl.fontys.sofa.limo.view.util.IconUtil; import org.openide.actions.NewAction; import org.openide.nodes.AbstractNode; import org.openide.nodes.Children; import org.openide.util.actions.SystemAction; /** * Abstract class which defines basic implementations for root nodes. Override * getActions and getNewTypes methods to define actions associated with this * Node. * * @author Sebastiaan Heijmann */ public abstract class AbstractRootNode extends AbstractNode { public AbstractRootNode(Children children) { super(children); } @Override public Action[] getActions(boolean context) { return new Action[]{SystemAction.get(NewAction.class)}; } abstract Class getServiceClass(); abstract Class getBeanClass(); @Override public Image getIcon(int type) { Image icon = IconUtil.getIcon(getBeanClass(), type); if (icon == null) { return super.getIcon(type); } return icon; } }