1 19 20 package org.netbeans.modules.j2ee.ejbcore.ui.logicalview.ejb.action; 21 22 import javax.lang.model.element.ExecutableElement; 23 import javax.swing.Action ; 24 import org.netbeans.modules.j2ee.ejbcore._RetoucheUtil; 25 import org.openide.nodes.Node; 26 import org.openide.util.HelpCtx; 27 import org.openide.util.Lookup; 28 import org.openide.util.NbBundle; 29 import org.openide.util.actions.NodeAction; 30 31 36 abstract class AbstractExposeMethodAction extends NodeAction { 37 38 protected void performAction(Node[] nodes) { 39 for (int i = 0; i < nodes.length; i++) { 40 expose(_RetoucheUtil.getMethodFromNode(nodes[i])); 41 } 42 } 43 44 protected abstract boolean canExpose(ExecutableElement method); 45 protected abstract void expose(ExecutableElement method); 46 47 public HelpCtx getHelpCtx() { 48 return HelpCtx.DEFAULT_HELP; 49 } 50 51 protected boolean asynchronous() { 52 return false; 53 } 54 55 protected boolean enable(Node[] nodes) { 56 return allNodesCanPromote(nodes); 57 } 58 59 private boolean allNodesCanPromote(Node[] nodes) { 60 return true; 79 } 80 81 protected void initialize() { 82 super.initialize(); 83 putProperty(Action.SHORT_DESCRIPTION, NbBundle.getMessage(AbstractExposeMethodAction.class, "HINT_Action")); 84 } 85 86 public javax.swing.Action createContextAwareInstance(org.openide.util.Lookup actionContext) { 87 boolean enable = enable(actionContext.lookup(new Lookup.Template<Node>(Node.class)).allInstances().toArray(new Node[0])); 88 return enable ? super.createContextAwareInstance(actionContext) : null; 89 } 90 } 91 | Popular Tags |