1 19 20 package org.netbeans.modules.j2ee.ejbcore.ui.logicalview.ejb.entity; 21 22 import java.awt.Image ; 23 import java.beans.PropertyChangeEvent ; 24 import java.beans.PropertyChangeListener ; 25 import org.openide.nodes.AbstractNode; 26 import org.openide.nodes.Children; 27 import javax.swing.Action ; 28 import org.openide.actions.DeleteAction; 29 import org.openide.actions.OpenAction; 30 import org.openide.cookies.OpenCookie; 31 import org.openide.util.Utilities; 32 import org.openide.util.actions.SystemAction; 33 import org.openide.util.WeakListeners; 34 import java.io.IOException ; 35 import org.netbeans.modules.j2ee.dd.api.ejb.CmrField; 36 import org.netbeans.modules.j2ee.ejbcore.api.methodcontroller.EntityMethodController; 37 import org.openide.filesystems.FileObject; 38 39 40 public class CMRFieldNode extends AbstractNode implements PropertyChangeListener , OpenCookie { 41 42 private static final String CMR_FIELD_ICON = "org/netbeans/modules/j2ee/ejbcore/resources/CMRFieldIcon.gif"; 44 private final CmrField field; 45 private final EntityMethodController controller; 46 private final FileObject ddFile; 47 48 public CMRFieldNode(CmrField field, EntityMethodController controller, FileObject ddFile) { 49 super(Children.LEAF); 50 this.field = field; 51 this.ddFile = ddFile; 52 this.controller = controller; 53 field.addPropertyChangeListener(WeakListeners.propertyChange(this, field)); 54 } 55 56 public String getDisplayName(){ 57 return field.getCmrFieldName(); 58 } 59 60 public Image getIcon(int type) { 61 return Utilities.loadImage(CMR_FIELD_ICON); 62 } 63 64 public boolean canDestroy(){ 65 return true; 66 } 67 68 public void destroy() throws IOException { 69 controller.deleteField(field, ddFile); 70 super.destroy(); 71 } 72 73 public void propertyChange(PropertyChangeEvent evt) { 74 fireDisplayNameChange(null,null); 75 } 76 77 public OpenCookie getCookie(Class <OpenCookie> type) { 78 if(OpenCookie.class.equals(type)) { 79 return this; 80 } 81 return super.getCookie(type); 82 } 83 84 public Action [] getActions(boolean context) { 85 return new SystemAction[] { 86 SystemAction.get(OpenAction.class), 87 null, 88 SystemAction.get(DeleteAction.class), 89 }; 90 } 91 92 public Action getPreferredAction() { 93 return SystemAction.get(OpenAction.class); 94 } 95 96 public void open() { 98 } 108 } | Popular Tags |