private void createClassNameInput(Composite result) { Label label= new Label(result, SWT.LEAD); label.setText(RefactoringMessages.IntroduceParameterObjectWizard_classnamefield_label); final Text text= new Text(result, SWT.SINGLE | SWT.BORDER); text.setText(fRefactoring.getClassName()); text.selectAll(); text.setFocus(); text.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { fRefactoring.setClassName(text.getText()); updateSignaturePreview(); validateRefactoring(); } }); text.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); }
private void createLocationInput(Composite parent) { Label l= new Label(parent, SWT.NONE); l.setText(RefactoringMessages.IntroduceParameterObjectWizard_destination_label); Composite composite= new Composite(parent, SWT.None); GridLayout gridLayout= new GridLayout(2, false); gridLayout.marginHeight= 0; gridLayout.marginWidth= 0; composite.setLayout(gridLayout); GridData gridData= new GridData(GridData.FILL_HORIZONTAL); composite.setLayoutData(gridData); final Button topLvlRadio= new Button(composite, SWT.RADIO); topLvlRadio.setText(RefactoringMessages.IntroduceParameterObjectWizard_createastoplevel_radio); topLvlRadio.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { boolean fAsTopLevel= topLvlRadio.getSelection(); fRefactoring.setCreateAsTopLevel(fAsTopLevel); updateSignaturePreview(); validateRefactoring(); } }); Button nestedRadio= new Button(composite, SWT.RADIO); nestedRadio.setText(Messages.format(RefactoringMessages.IntroduceParameterObjectWizard_createasnestedclass_radio, fRefactoring.getContainingClass().getName())); boolean createAsTopLevel= getBooleanSetting(CREATE_TOP_LEVEL_SETTING, fRefactoring.isCreateAsTopLevel()); fRefactoring.setCreateAsTopLevel(createAsTopLevel); topLvlRadio.setSelection(createAsTopLevel); nestedRadio.setSelection(!createAsTopLevel); }
public IntroduceParameterObjectRefactoring(IMethod method) throws JavaModelException { super(method); Assert.isNotNull(method); initializeFields(method); setBodyUpdater(new RewriteParameterBody()); setDefaultValueAdvisor(new ParameterObjectCreator()); List parameterInfos= getParameterInfos(); for (Iterator iter= parameterInfos.iterator(); iter.hasNext();) { ParameterInfo pi= (ParameterInfo) iter.next(); if (!pi.isAdded()) { pi.setCreateField(true); pi.setNewName(getFieldName(pi)); } } }
private RefactoringStatus mappingErrorFound(RefactoringStatus result, ASTNode node) { if (node != null && (node.getFlags() & ASTNode.MALFORMED) != 0 && processCompilerError(result, node)) return result; result.addFatalError(getMappingErrorMessage()); return result; }
setErrorMessage(null); setPageComplete(true); IJavaProject project= fRefactoring.getMethod().getJavaProject(); String sourceLevel= project.getOption(JavaCore.COMPILER_SOURCE, true); String compliance= project.getOption(JavaCore.COMPILER_COMPLIANCE, true); List parameterInfos= fRefactoring.getParameterInfos(); for (Iterator iter= parameterInfos.iterator(); iter.hasNext();) { ParameterInfo pi= (ParameterInfo) iter.next(); IStatus validateJavaTypeName= JavaConventions.validateJavaTypeName(fRefactoring.getClassName(), sourceLevel, compliance); if (isErrorMessage(validateJavaTypeName)) return; if (fRefactoring.getClassName().indexOf('.') != -1) { setErrorMessage(RefactoringMessages.IntroduceParameterObjectWizard_dot_not_allowed_error); setPageComplete(false); if (!"".equals(fRefactoring.getPackage())) { //$NON-NLS-1$ IStatus validatePackageName= JavaConventions.validatePackageName(fRefactoring.getPackage(), sourceLevel, compliance); if (isErrorMessage(validatePackageName)) return; IType type= project.findType(fRefactoring.getNewTypeName()); if (type != null) { StringBuffer packageName= new StringBuffer(); JavaElementLabels.getPackageFragmentLabel(type.getPackageFragment(), JavaElementLabels.ALL_DEFAULT, packageName); if (fRefactoring.isCreateAsTopLevel()) { setErrorMessage(Messages.format(RefactoringMessages.IntroduceParameterObjectWizard_type_already_exists_in_package_info, new Object[] {fRefactoring.getClassName(), packageName.toString() })); setPageComplete(false); return;
if (status.hasFatalError()) return status; CompilationUnit astRoot= getBaseCuRewrite().getRoot(); ASTNode selectedNode= NodeFinder.perform(astRoot, fOffset, fLength); if (selectedNode == null) { return mappingErrorFound(status, selectedNode); return mappingErrorFound(status, selectedNode); if (!processCompilerError(status, selectedNode)) status.addFatalError(RefactoringCoreMessages.SelfEncapsulateField_type_not_resolveable); return status;
String fileComment= getFileComment(workingCopy, lineDelimiter); String typeComment= getTypeComment(workingCopy, lineDelimiter); String content= CodeGeneration.getCompilationUnitContent(workingCopy, fileComment, typeComment, "class " + getClassName() + "{}", lineDelimiter); //$NON-NLS-1$ //$NON-NLS-2$ workingCopy.getBuffer().setContents(content);
return; IntroduceParameterObjectRefactoring refactoring= new IntroduceParameterObjectRefactoring(method); final RefactoringStatus status= refactoring.checkInitialConditions(new NullProgressMonitor()); if (status.hasFatalError()) { final RefactoringStatusEntry entry= status.getEntryMatchingSeverity(RefactoringStatus.FATAL); refactoring=new IntroduceParameterObjectRefactoring(superMethod);
private void createParameterClass(MethodDeclaration methodDeclaration, CompilationUnitRewrite cuRewrite) throws CoreException { if (fCreateAsTopLevel) { IJavaProject javaProject= fCompilationUnit.getJavaProject(); IPackageFragment packageFragment= getPackageFragmentRoot().getPackageFragment(fParameterObjectFactory.getPackage()); if (!packageFragment.exists()) { fOtherChanges.add(new CreatePackageChange(packageFragment)); } ICompilationUnit unit= packageFragment.getCompilationUnit(fParameterObjectFactory.getClassName() + ".java"); //$NON-NLS-1$ Assert.isTrue(!unit.exists()); createTopLevelParameterObject(javaProject, unit); } else { ASTRewrite rewriter= cuRewrite.getASTRewrite(); TypeDeclaration enclosingType= (TypeDeclaration) methodDeclaration.getParent(); ListRewrite bodyRewrite= rewriter.getListRewrite(enclosingType, TypeDeclaration.BODY_DECLARATIONS_PROPERTY); TypeDeclaration classDeclaration= fParameterObjectFactory.createClassDeclaration(fCompilationUnit, enclosingType.getName() .getFullyQualifiedName(), cuRewrite); classDeclaration.modifiers().add(rewriter.getAST().newModifier(ModifierKeyword.PUBLIC_KEYWORD)); classDeclaration.modifiers().add(rewriter.getAST().newModifier(ModifierKeyword.STATIC_KEYWORD)); bodyRewrite.insertBefore(classDeclaration, methodDeclaration, null); } }