1 19 package org.netbeans.modules.refactoring.experimental.ui; 20 import org.netbeans.jmi.javamodel.JavaClass; 21 import org.netbeans.jmi.javamodel.Resource; 22 import org.netbeans.modules.javacore.api.JavaModel; 23 import org.netbeans.modules.refactoring.api.AbstractRefactoring; 24 import org.netbeans.modules.refactoring.api.Problem; 25 import org.netbeans.modules.refactoring.experimental.CopyClassRefactoring; 26 import org.netbeans.modules.refactoring.spi.ui.CustomRefactoringPanel; 27 import org.netbeans.modules.refactoring.spi.ui.ParametersPanel; 28 import org.netbeans.modules.refactoring.spi.ui.RefactoringUI; 29 import org.netbeans.modules.refactoring.ui.PullUpRefactoringUI; 30 import org.openide.util.HelpCtx; 31 import org.openide.util.NbBundle; 32 33 37 public class CopyClassRefactoringUI implements RefactoringUI { 38 private final CopyClassRefactoring refactoring; 40 private CopyClassPanel panel; 42 43 public CopyClassRefactoringUI(Resource resource) { 44 refactoring = new CopyClassRefactoring(resource); 45 } 46 47 49 public boolean isQuery() { 50 return false; 51 } 52 53 public CustomRefactoringPanel getPanel(ParametersPanel parent) { 54 if (panel == null) { 55 panel = new CopyClassPanel(parent, getName() + " - " + ((JavaClass) refactoring.getResource().getClassifiers().get(0)).getName(), refactoring.getResource().getPackageName(), JavaModel.getFileObject(refactoring.getResource())); 56 } 57 return panel; 58 } 59 60 public Problem setParameters() { 61 setupRefactoring(); 62 return refactoring.checkParameters(); 63 } 64 65 public Problem checkParameters() { 66 if (panel==null) 67 return null; 68 setupRefactoring(); 69 return refactoring.fastCheckParameters(); 70 } 71 72 private void setupRefactoring() { 73 refactoring.setTargetClassPathRoot(panel.getRootFolder()); 74 refactoring.setTargetPackageName(panel.getPackageName().replace('/', '.')); 75 refactoring.setNewName(panel.getNewName()); 76 } 77 78 public AbstractRefactoring getRefactoring() { 79 return refactoring; 80 } 81 82 public String getDescription() { 83 return NbBundle.getMessage(CopyClassAction.class, "DSC_CopyClass", refactoring.getNewName()); } 85 86 public String getName() { 87 return NbBundle.getMessage(CopyClassAction.class, "LBL_CopyClass"); } 89 90 public boolean hasParameters() { 91 return true; 92 } 93 94 public HelpCtx getHelpCtx() { 95 return new HelpCtx(PullUpRefactoringUI.class.getName()); 96 } 97 } | Popular Tags |