|
What this is
Other links
The source code/* * Sun Public License Notice * * The contents of this file are subject to the Sun Public License * Version 1.0 (the "License"). You may not use this file except in * compliance with the License. A copy of the License is available at * http://www.sun.com/ * * The Original Code is NetBeans. The Initial Developer of the Original * Code is Sun Microsystems, Inc. Portions Copyright 1997-2003 Sun * Microsystems, Inc. All Rights Reserved. */ package org.netbeans.modules.refactoring.ui; import java.util.Iterator; import javax.jmi.reflect.RefObject; import org.netbeans.modules.refactoring.api.ui.AbstractRefactoringAction; import org.netbeans.modules.refactoring.api.ui.RefactoringUI; import org.netbeans.jmi.javamodel.ElementReference; import org.netbeans.jmi.javamodel.JavaClass; import org.netbeans.jmi.javamodel.Resource; import org.netbeans.modules.java.JavaDataObject; import org.netbeans.modules.javacore.internalapi.JavaMetamodel; import org.netbeans.modules.javacore.internalapi.JMIElementCookie; import org.openide.loaders.DataObject; import org.openide.nodes.Node; import org.openide.util.NbBundle; /** * * @author Martin Matula */ public class WhereUsedAction extends AbstractRefactoringAction { public WhereUsedAction() { super(NbBundle.getMessage(WhereUsedAction.class, "LBL_WhereUsedAction"), null); } protected RefactoringUI createRefactoringUI(Node[] nodes, org.netbeans.jmi.javamodel.Element selectedElement) { RefObject representedObject = selectedElement; if (representedObject != null) { if (representedObject instanceof ElementReference) { representedObject = ((ElementReference)representedObject).getElement(); } } else { Node selNode = nodes[0]; JMIElementCookie cookie = (JMIElementCookie) selNode.getCookie(JMIElementCookie.class); if (cookie!=null) representedObject = cookie.getElement(); else { JavaDataObject o = (JavaDataObject) selNode.getCookie(DataObject.class); Resource cr = JavaMetamodel.getManager().getResource(o.getPrimaryFile()); representedObject = null; if (cr != null) { for (Iterator it = cr.getClassifiers().iterator(); it.hasNext();) { Object obj = it.next(); if (!(obj instanceof JavaClass)) continue; JavaClass cls = (JavaClass) obj; if (selNode.getName().equals(cls.getSimpleName())) { representedObject = cls; break; } } } } } return new WhereUsedQueryUI(representedObject); } protected boolean enabled(org.openide.nodes.Node[] activatedNodes) { if (activatedNodes.length != 1) return false; JMIElementCookie cookie = (JMIElementCookie) activatedNodes[0].getCookie(JMIElementCookie.class); return cookie != null || activatedNodes[0].getCookie(DataObject.class) instanceof JavaDataObject; } // protected String iconResource () { // return "org/netbeans/modules/refactoring/resources/query.gif"; // NOI18N // } } |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.