parameters.add(IntroduceParameterObjectDescriptor.PARAMETER_OBJECT); } else { IntroduceParameterObjectDescriptor.Parameter parameter= new IntroduceParameterObjectDescriptor.Parameter(pi.getOldIndex()); if (pi.isCreateField()) { parameter.setCreateField(true); parameter.setFieldName(pi.getNewName());
for (int i= 0; i < parameters.length; i++) { Parameter param= parameters[i]; ParameterInfo pi= paramIndex.get(Integer.valueOf(param.getIndex())); pis.add(pi); if (param != IntroduceParameterObjectDescriptor.PARAMETER_OBJECT) { pi.setCreateField(param.isCreateField()); if (pi.isCreateField()) { String fieldName= param.getFieldName(); if (fieldName != null) pi.setNewName(fieldName);
for (int i= 0; i < fParameters.length; i++) { Parameter parameter= fParameters[i]; if (parameter.isCreateField()) { String fieldName= parameter.getFieldName(); if (fieldName == null) result.addError("The parameter " + parameter.getIndex() + " is marked for field creation but does not have a field name"); //$NON-NLS-1$ //$NON-NLS-2$ else { result.merge(RefactoringStatus.create(JavaConventions.validateFieldName(fieldName, sourceLevel, complianceLevel)));
parameters.add(IntroduceParameterObjectDescriptor.PARAMETER_OBJECT); } else { IntroduceParameterObjectDescriptor.Parameter parameter= new IntroduceParameterObjectDescriptor.Parameter(pi.getOldIndex()); if (pi.isCreateField()) { parameter.setCreateField(true); parameter.setFieldName(pi.getNewName());
for (int i= 0; i < parameters.length; i++) { Parameter param= parameters[i]; ParameterInfo pi= paramIndex.get(new Integer(param.getIndex())); pis.add(pi); if (param != IntroduceParameterObjectDescriptor.PARAMETER_OBJECT) { pi.setCreateField(param.isCreateField()); if (pi.isCreateField()) { String fieldName= param.getFieldName(); if (fieldName != null) pi.setNewName(fieldName);
@Override protected void populateArgumentMap() { super.populateArgumentMap(); JavaRefactoringDescriptorUtil.setJavaElement(fArguments, ATTRIBUTE_INPUT, getProject(), fMethod); Parameter[] parameters= fParameters; if (parameters == null) { parameters= createParameters(fMethod); } JavaRefactoringDescriptorUtil.setInt(fArguments, PARAMETER_COUNT, parameters.length); for (int i= 0; i < parameters.length; i++) { Parameter param= parameters[i]; JavaRefactoringDescriptorUtil.setInt(fArguments, JavaRefactoringDescriptorUtil.getAttributeName(PARAMETER_IDX, i), param.getIndex()); JavaRefactoringDescriptorUtil.setBoolean(fArguments, JavaRefactoringDescriptorUtil.getAttributeName(PARAMETER_CREATE_FIELD, i), param.isCreateField()); if (param.isCreateField()) JavaRefactoringDescriptorUtil.setString(fArguments, JavaRefactoringDescriptorUtil.getAttributeName(PARAMETER_FIELD_NAME, i), param.getFieldName()); } JavaRefactoringDescriptorUtil.setString(fArguments, CLASS_NAME, fClassName); JavaRefactoringDescriptorUtil.setString(fArguments, PACKAGE_NAME, fPackageName); JavaRefactoringDescriptorUtil.setString(fArguments, PARAMETER_NAME, fParameterName); JavaRefactoringDescriptorUtil.setBoolean(fArguments, DELEGATE, fDelegate); JavaRefactoringDescriptorUtil.setBoolean(fArguments, DEPRECATE_DELEGATE, fDeprecateDelegate); JavaRefactoringDescriptorUtil.setBoolean(fArguments, GETTERS, fGetters); JavaRefactoringDescriptorUtil.setBoolean(fArguments, SETTERS, fSetters); JavaRefactoringDescriptorUtil.setBoolean(fArguments, TOP_LEVEL, fTopLevel); }
/** * Creates the parameters for this method. The first object is the parameter object. * By default all parameters are marked for field creation * * @param method derive parameter from this method * @return an array of parameter corresponding to the parameter declared in the method. The first object * will be the parameter object. All parameter are marked for field creation */ public static Parameter[] createParameters(IMethod method) { int length= method.getNumberOfParameters(); Parameter[] result= new Parameter[length + 1]; result[0]= PARAMETER_OBJECT; for (int i= 0; i < length; i++) { result[i + 1]= new Parameter(i); result[i + 1].setCreateField(true); } return result; }
private void initializeParameter(Map<String, String> map) throws IllegalArgumentException { int[] idx= JavaRefactoringDescriptorUtil.getIntArray(map, PARAMETER_COUNT, PARAMETER_IDX); boolean[] createField= JavaRefactoringDescriptorUtil.getBooleanArray(map, PARAMETER_COUNT, PARAMETER_CREATE_FIELD, 0); Parameter[] result=new Parameter[idx.length]; for (int i= 0; i < idx.length; i++) { int index= idx[i]; if (index == PARAMETER_OBJECT_IDX) { result[i]= new Parameter(PARAMETER_OBJECT_IDX); } else { Parameter parameter= new Parameter(index); result[i]= parameter; parameter.setCreateField(createField[i]); if (createField[i]) parameter.setFieldName(JavaRefactoringDescriptorUtil.getString(map, JavaRefactoringDescriptorUtil.getAttributeName(PARAMETER_FIELD_NAME, i))); } } setParameters(result); }