String fieldName= field.getFieldName(); IField declField= type.getField(fieldName); ParameterInfo info= new ParameterInfo(Signature.toString(declField.getTypeSignature()), fieldName, i);
private ParameterObjectFactory initializeFactory() { ParameterObjectFactory pof= new ParameterObjectFactory(); pof.setClassName(fDescriptor.getClassName()); pof.setPackage(fDescriptor.getPackage()); pof.setEnclosingType(fDescriptor.getType().getFullyQualifiedName('.')); pof.setCreateGetter(fDescriptor.isCreateGetterSetter()); pof.setCreateSetter(fDescriptor.isCreateGetterSetter()); List<ParameterInfo> variables= new ArrayList<>(); for (Iterator<FieldInfo> iterator= fVariables.values().iterator(); iterator.hasNext();) { FieldInfo info= iterator.next(); boolean createField= isCreateField(info); info.pi.setCreateField(createField); if (createField) { Field field= getField(info.name); info.pi.setNewName(field.getNewFieldName()); } variables.add(info.pi); } pof.setVariables(variables); return pof; }
for (int i= 0; i < fields.length; i++) { Field field= fields[i]; tv.setChecked(field, field.isCreateField());
for (int i= 0; i < fields.length; i++) { Field field= fields[i]; tv.setChecked(field, field.isCreateField());
String fieldName= field.getFieldName(); IField declField= type.getField(fieldName); ParameterInfo info= new ParameterInfo(Signature.toString(declField.getTypeSignature()), fieldName, i);
fFields= new Field[oldFieldNames.length]; for (int i= 0; i < oldFieldNames.length; i++) { fFields[i]= new Field(oldFieldNames[i]); fFields[i].setCreateField(createField[i]); if (createField[i]) fFields[i].setNewFieldName(JavaRefactoringDescriptorUtil.getString(arguments, JavaRefactoringDescriptorUtil.getAttributeName(NEW_FIELD_NAME, i)));
@Override public void widgetSelected(SelectionEvent e) { ISelection selection= tv.getSelection(); if (selection instanceof IStructuredSelection) { IStructuredSelection ss= (IStructuredSelection) selection; Field selected= (Field) ss.getFirstElement(); String message= RefactoringMessages.ExtractClassWizard_dialog_message; String title= RefactoringMessages.ExtractClassWizard_dialog_title; InputDialog inputDialog= new InputDialog(getShell(), title, message, selected.getNewFieldName(), new IInputValidator() { @Override public String isValid(String newText) { IStatus status= JavaConventionsUtil.validateIdentifier(newText, fDescriptor.getType()); if (!status.isOK()) return status.getMessage(); return null; } }); if (inputDialog.open() == Window.OK) { selected.setNewFieldName(inputDialog.getValue()); tv.refresh(selected); } } } });
@Override public void widgetSelected(SelectionEvent e) { ISelection selection= tv.getSelection(); if (selection instanceof IStructuredSelection) { IStructuredSelection ss= (IStructuredSelection) selection; Field selected= (Field) ss.getFirstElement(); String message= RefactoringMessages.ExtractClassWizard_dialog_message; String title= RefactoringMessages.ExtractClassWizard_dialog_title; InputDialog inputDialog= new InputDialog(getShell(), title, message, selected.getNewFieldName(), new IInputValidator() { @Override public String isValid(String newText) { IStatus status= JavaConventionsUtil.validateIdentifier(newText, fDescriptor.getType()); if (!status.isOK()) return status.getMessage(); return null; } }); if (inputDialog.open() == Window.OK) { selected.setNewFieldName(inputDialog.getValue()); tv.refresh(selected); } } } });
private String createComment() { Object[] keys= new Object[] { BasicElementLabels.getJavaElementName(fDescriptor.getClassName()), BasicElementLabels.getJavaElementName(fDescriptor.getType().getElementName()) }; String header= Messages.format(RefactoringCoreMessages.ExtractClassRefactoring_change_comment_header, keys); JDTRefactoringDescriptorComment comment= new JDTRefactoringDescriptorComment(fDescriptor.getType().getJavaProject().getElementName(), this, header); comment.addSetting(Messages.format(RefactoringCoreMessages.ExtractClassRefactoring_comment_extracted_class, BasicElementLabels.getJavaElementName(fDescriptor.getClassName()))); if (fDescriptor.isCreateTopLevel()) comment.addSetting(Messages.format(RefactoringCoreMessages.ExtractClassRefactoring_comment_package, BasicElementLabels.getJavaElementName(fDescriptor.getPackage()))); Field[] fields= fDescriptor.getFields(); ArrayList<String> strings= new ArrayList<>(); for (int i= 0; i < fields.length; i++) { Field field= fields[i]; if (field.isCreateField()) { strings.add(Messages.format(RefactoringCoreMessages.ExtractClassRefactoring_comment_field_renamed, new Object[] { BasicElementLabels.getJavaElementName(field.getFieldName()), BasicElementLabels.getJavaElementName(field.getNewFieldName()) })); } } String fieldString= JDTRefactoringDescriptorComment.createCompositeSetting(RefactoringCoreMessages.ExtractClassRefactoring_comment_move_field, strings.toArray(new String[strings .size()])); comment.addSetting(fieldString); if (fDescriptor.isCreateGetterSetter()) comment.addSetting(RefactoringCoreMessages.ExtractClassRefactoring_comment_getters); comment.addSetting(Messages.format(RefactoringCoreMessages.ExtractClassRefactoring_comment_fieldname, BasicElementLabels.getJavaElementName(fDescriptor.getFieldName()))); return comment.asString(); }
public RefactoringStatus validateFields() { RefactoringStatus status= new RefactoringStatus(); Field[] fields= fDescriptor.getFields(); Set<String> names= new HashSet<>(); for (int i= 0; i < fields.length; i++) { Field field= fields[i]; if (field.isCreateField()) { if (names.contains(field.getNewFieldName())) { status.addError(Messages.format(RefactoringCoreMessages.ExtractClassRefactoring_error_duplicate_field_name, BasicElementLabels.getJavaElementName(field.getNewFieldName()))); } names.add(field.getNewFieldName()); status.merge(Checks.checkFieldName(field.getNewFieldName(), fDescriptor.getType())); } } if (names.size() == 0) { status.addError(RefactoringCoreMessages.ExtractClassRefactoring_error_msg_one_field); } validateFieldNames(status, fDescriptor.getFieldName(), fDescriptor.getType()); return status; }
private String createComment() { Object[] keys= new Object[] { BasicElementLabels.getJavaElementName(fDescriptor.getClassName()), BasicElementLabels.getJavaElementName(fDescriptor.getType().getElementName()) }; String header= Messages.format(RefactoringCoreMessages.ExtractClassRefactoring_change_comment_header, keys); JDTRefactoringDescriptorComment comment= new JDTRefactoringDescriptorComment(fDescriptor.getType().getJavaProject().getElementName(), this, header); comment.addSetting(Messages.format(RefactoringCoreMessages.ExtractClassRefactoring_comment_extracted_class, BasicElementLabels.getJavaElementName(fDescriptor.getClassName()))); if (fDescriptor.isCreateTopLevel()) comment.addSetting(Messages.format(RefactoringCoreMessages.ExtractClassRefactoring_comment_package, BasicElementLabels.getJavaElementName(fDescriptor.getPackage()))); Field[] fields= fDescriptor.getFields(); ArrayList<String> strings= new ArrayList<>(); for (int i= 0; i < fields.length; i++) { Field field= fields[i]; if (field.isCreateField()) { strings.add(Messages.format(RefactoringCoreMessages.ExtractClassRefactoring_comment_field_renamed, new Object[] { BasicElementLabels.getJavaElementName(field.getFieldName()), BasicElementLabels.getJavaElementName(field.getNewFieldName()) })); } } String fieldString= JDTRefactoringDescriptorComment.createCompositeSetting(RefactoringCoreMessages.ExtractClassRefactoring_comment_move_field, strings.toArray(new String[strings .size()])); comment.addSetting(fieldString); if (fDescriptor.isCreateGetterSetter()) comment.addSetting(RefactoringCoreMessages.ExtractClassRefactoring_comment_getters); comment.addSetting(Messages.format(RefactoringCoreMessages.ExtractClassRefactoring_comment_fieldname, BasicElementLabels.getJavaElementName(fDescriptor.getFieldName()))); return comment.asString(); }
public RefactoringStatus validateFields() { RefactoringStatus status= new RefactoringStatus(); Field[] fields= fDescriptor.getFields(); Set<String> names= new HashSet<>(); for (int i= 0; i < fields.length; i++) { Field field= fields[i]; if (field.isCreateField()) { if (names.contains(field.getNewFieldName())) { status.addError(Messages.format(RefactoringCoreMessages.ExtractClassRefactoring_error_duplicate_field_name, BasicElementLabels.getJavaElementName(field.getNewFieldName()))); } names.add(field.getNewFieldName()); status.merge(Checks.checkFieldName(field.getNewFieldName(), fDescriptor.getType())); } } if (names.size() == 0) { status.addError(RefactoringCoreMessages.ExtractClassRefactoring_error_msg_one_field); } validateFieldNames(status, fDescriptor.getFieldName(), fDescriptor.getType()); return status; }
@Override protected void populateArgumentMap() { super.populateArgumentMap(); if (fFields != null) { String[] oldFieldNames= new String[fFields.length]; String[] newFieldNames= new String[fFields.length]; boolean[] createField= new boolean[fFields.length]; for (int i= 0; i < fFields.length; i++) { Field field= fFields[i]; Assert.isNotNull(field); oldFieldNames[i]= field.getFieldName(); createField[i]= field.isCreateField(); if (field.isCreateField()) newFieldNames[i]= field.getNewFieldName(); } JavaRefactoringDescriptorUtil.setStringArray(fArguments, OLD_FIELD_COUNT, OLD_FIELD_NAME, oldFieldNames, 0); JavaRefactoringDescriptorUtil.setStringArray(fArguments, NEW_FIELD_COUNT, NEW_FIELD_NAME, newFieldNames, 0); JavaRefactoringDescriptorUtil.setBooleanArray(fArguments, CREATE_FIELD_COUNT, CREATE_FIELD, createField, 0); } }
private ParameterObjectFactory initializeFactory() { ParameterObjectFactory pof= new ParameterObjectFactory(); pof.setClassName(fDescriptor.getClassName()); pof.setPackage(fDescriptor.getPackage()); pof.setEnclosingType(fDescriptor.getType().getFullyQualifiedName('.')); pof.setCreateGetter(fDescriptor.isCreateGetterSetter()); pof.setCreateSetter(fDescriptor.isCreateGetterSetter()); List<ParameterInfo> variables= new ArrayList<>(); for (Iterator<FieldInfo> iterator= fVariables.values().iterator(); iterator.hasNext();) { FieldInfo info= iterator.next(); boolean createField= isCreateField(info); info.pi.setCreateField(createField); if (createField) { Field field= getField(info.name); info.pi.setNewName(field.getNewFieldName()); } variables.add(info.pi); } pof.setVariables(variables); return pof; }
/** * Creates {@link Field} objects for all instance fields of the type * * @param type the type declaring the field that will be moved to the extracted class * @return an instance of {@link Field} for every field declared in type that is not static * @throws JavaModelException if the type does not exist or if an exception occurs while accessing its corresponding resource. */ public static Field[] getFields(IType type) throws JavaModelException { IField[] fields= type.getFields(); ArrayList<Field> result= new ArrayList<>(); for (int i= 0; i < fields.length; i++) { IField field= fields[i]; if (!Flags.isStatic(field.getFlags()) && !field.isEnumConstant()) result.add(new Field(field.getElementName())); } return result.toArray(new Field[result.size()]); }
private boolean isCreateField(FieldInfo fi) { return getField(fi.name).isCreateField(); }
private boolean isCreateField(FieldInfo fi) { return getField(fi.name).isCreateField(); }
@Override public void doSetValue(Field pi, String string) { pi.setNewFieldName(string); }
@Override public String doGetValue(Field pi) { return pi.getNewFieldName(); }
@Override public void doSetValue(Field pi, String string) { pi.setNewFieldName(string); }