Search in sources :

Example 1 with ExtractConstantDescriptor

use of org.eclipse.jdt.core.refactoring.descriptors.ExtractConstantDescriptor in project che by eclipse.

the class ExtractConstantRefactoring method createRefactoringDescriptor.

private ExtractConstantDescriptor createRefactoringDescriptor() {
    final Map<String, String> arguments = new HashMap<String, String>();
    String project = null;
    IJavaProject javaProject = fCu.getJavaProject();
    if (javaProject != null)
        project = javaProject.getElementName();
    int flags = JavaRefactoringDescriptor.JAR_REFACTORING | JavaRefactoringDescriptor.JAR_SOURCE_ATTACHMENT;
    if (JdtFlags.getVisibilityCode(fVisibility) != Modifier.PRIVATE)
        flags |= RefactoringDescriptor.STRUCTURAL_CHANGE;
    final String expression = ASTNodes.asString(fSelectedExpression.getAssociatedExpression());
    final String description = Messages.format(RefactoringCoreMessages.ExtractConstantRefactoring_descriptor_description_short, BasicElementLabels.getJavaElementName(fConstantName));
    final String header = Messages.format(RefactoringCoreMessages.ExtractConstantRefactoring_descriptor_description, new String[] { BasicElementLabels.getJavaElementName(fConstantName), BasicElementLabels.getJavaCodeString(expression) });
    final JDTRefactoringDescriptorComment comment = new JDTRefactoringDescriptorComment(project, this, header);
    comment.addSetting(Messages.format(RefactoringCoreMessages.ExtractConstantRefactoring_constant_name_pattern, BasicElementLabels.getJavaElementName(fConstantName)));
    comment.addSetting(Messages.format(RefactoringCoreMessages.ExtractConstantRefactoring_constant_expression_pattern, BasicElementLabels.getJavaCodeString(expression)));
    String visibility = fVisibility;
    if (//$NON-NLS-1$
    "".equals(visibility))
        visibility = RefactoringCoreMessages.ExtractConstantRefactoring_default_visibility;
    comment.addSetting(Messages.format(RefactoringCoreMessages.ExtractConstantRefactoring_visibility_pattern, visibility));
    if (fReplaceAllOccurrences)
        comment.addSetting(RefactoringCoreMessages.ExtractConstantRefactoring_replace_occurrences);
    if (fQualifyReferencesWithDeclaringClassName)
        comment.addSetting(RefactoringCoreMessages.ExtractConstantRefactoring_qualify_references);
    arguments.put(JavaRefactoringDescriptorUtil.ATTRIBUTE_INPUT, JavaRefactoringDescriptorUtil.elementToHandle(project, fCu));
    arguments.put(JavaRefactoringDescriptorUtil.ATTRIBUTE_NAME, fConstantName);
    //$NON-NLS-1$
    arguments.put(JavaRefactoringDescriptorUtil.ATTRIBUTE_SELECTION, new Integer(fSelectionStart).toString() + " " + new Integer(fSelectionLength).toString());
    arguments.put(ATTRIBUTE_REPLACE, Boolean.valueOf(fReplaceAllOccurrences).toString());
    arguments.put(ATTRIBUTE_QUALIFY, Boolean.valueOf(fQualifyReferencesWithDeclaringClassName).toString());
    arguments.put(ATTRIBUTE_VISIBILITY, new Integer(JdtFlags.getVisibilityCode(fVisibility)).toString());
    ExtractConstantDescriptor descriptor = RefactoringSignatureDescriptorFactory.createExtractConstantDescriptor(project, description, comment.asString(), arguments, flags);
    return descriptor;
}
Also used : IJavaProject(org.eclipse.jdt.core.IJavaProject) HashMap(java.util.HashMap) ExtractConstantDescriptor(org.eclipse.jdt.core.refactoring.descriptors.ExtractConstantDescriptor) JDTRefactoringDescriptorComment(org.eclipse.jdt.internal.corext.refactoring.JDTRefactoringDescriptorComment)

Example 2 with ExtractConstantDescriptor

use of org.eclipse.jdt.core.refactoring.descriptors.ExtractConstantDescriptor in project eclipse.jdt.ls by eclipse.

the class ExtractConstantRefactoring method createChange.

@Override
public Change createChange(IProgressMonitor monitor) throws CoreException {
    ExtractConstantDescriptor descriptor = createRefactoringDescriptor();
    fChange.setDescriptor(new RefactoringChangeDescriptor(descriptor));
    return fChange;
}
Also used : ExtractConstantDescriptor(org.eclipse.jdt.core.refactoring.descriptors.ExtractConstantDescriptor) RefactoringChangeDescriptor(org.eclipse.ltk.core.refactoring.RefactoringChangeDescriptor)

Example 3 with ExtractConstantDescriptor

use of org.eclipse.jdt.core.refactoring.descriptors.ExtractConstantDescriptor in project che by eclipse.

the class ExtractConstantRefactoring method createChange.

@Override
public Change createChange(IProgressMonitor monitor) throws CoreException {
    ExtractConstantDescriptor descriptor = createRefactoringDescriptor();
    fChange.setDescriptor(new RefactoringChangeDescriptor(descriptor));
    return fChange;
}
Also used : ExtractConstantDescriptor(org.eclipse.jdt.core.refactoring.descriptors.ExtractConstantDescriptor) RefactoringChangeDescriptor(org.eclipse.ltk.core.refactoring.RefactoringChangeDescriptor)

Example 4 with ExtractConstantDescriptor

use of org.eclipse.jdt.core.refactoring.descriptors.ExtractConstantDescriptor in project eclipse.jdt.ls by eclipse.

the class ExtractConstantRefactoring method createRefactoringDescriptor.

private ExtractConstantDescriptor createRefactoringDescriptor() {
    final Map<String, String> arguments = new HashMap<>();
    String project = null;
    IJavaProject javaProject = fCu.getJavaProject();
    if (javaProject != null) {
        project = javaProject.getElementName();
    }
    int flags = JavaRefactoringDescriptor.JAR_REFACTORING | JavaRefactoringDescriptor.JAR_SOURCE_ATTACHMENT;
    if (JdtFlags.getVisibilityCode(fVisibility) != Modifier.PRIVATE) {
        flags |= RefactoringDescriptor.STRUCTURAL_CHANGE;
    }
    final String expression = ASTNodes.asString(fSelectedExpression.getAssociatedExpression());
    final String description = Messages.format(RefactoringCoreMessages.ExtractConstantRefactoring_descriptor_description_short, BasicElementLabels.getJavaElementName(fConstantName));
    final String header = Messages.format(RefactoringCoreMessages.ExtractConstantRefactoring_descriptor_description, new String[] { BasicElementLabels.getJavaElementName(fConstantName), BasicElementLabels.getJavaCodeString(expression) });
    final JDTRefactoringDescriptorComment comment = new JDTRefactoringDescriptorComment(project, this, header);
    comment.addSetting(Messages.format(RefactoringCoreMessages.ExtractConstantRefactoring_constant_name_pattern, BasicElementLabels.getJavaElementName(fConstantName)));
    comment.addSetting(Messages.format(RefactoringCoreMessages.ExtractConstantRefactoring_constant_expression_pattern, BasicElementLabels.getJavaCodeString(expression)));
    String visibility = fVisibility;
    if ("".equals(visibility)) {
        visibility = RefactoringCoreMessages.ExtractConstantRefactoring_default_visibility;
    }
    comment.addSetting(Messages.format(RefactoringCoreMessages.ExtractConstantRefactoring_visibility_pattern, visibility));
    if (fReplaceAllOccurrences) {
        comment.addSetting(RefactoringCoreMessages.ExtractConstantRefactoring_replace_occurrences);
    }
    if (fQualifyReferencesWithDeclaringClassName) {
        comment.addSetting(RefactoringCoreMessages.ExtractConstantRefactoring_qualify_references);
    }
    arguments.put(JavaRefactoringDescriptorUtil.ATTRIBUTE_INPUT, JavaRefactoringDescriptorUtil.elementToHandle(project, fCu));
    arguments.put(JavaRefactoringDescriptorUtil.ATTRIBUTE_NAME, fConstantName);
    // $NON-NLS-1$
    arguments.put(JavaRefactoringDescriptorUtil.ATTRIBUTE_SELECTION, new Integer(fSelectionStart).toString() + " " + new Integer(fSelectionLength).toString());
    arguments.put(ATTRIBUTE_REPLACE, Boolean.valueOf(fReplaceAllOccurrences).toString());
    arguments.put(ATTRIBUTE_QUALIFY, Boolean.valueOf(fQualifyReferencesWithDeclaringClassName).toString());
    arguments.put(ATTRIBUTE_VISIBILITY, new Integer(JdtFlags.getVisibilityCode(fVisibility)).toString());
    ExtractConstantDescriptor descriptor = RefactoringSignatureDescriptorFactory.createExtractConstantDescriptor(project, description, comment.asString(), arguments, flags);
    return descriptor;
}
Also used : IJavaProject(org.eclipse.jdt.core.IJavaProject) HashMap(java.util.HashMap) ExtractConstantDescriptor(org.eclipse.jdt.core.refactoring.descriptors.ExtractConstantDescriptor) JDTRefactoringDescriptorComment(org.eclipse.jdt.ls.core.internal.corext.refactoring.JDTRefactoringDescriptorComment)

Aggregations

ExtractConstantDescriptor (org.eclipse.jdt.core.refactoring.descriptors.ExtractConstantDescriptor)4 HashMap (java.util.HashMap)2 IJavaProject (org.eclipse.jdt.core.IJavaProject)2 RefactoringChangeDescriptor (org.eclipse.ltk.core.refactoring.RefactoringChangeDescriptor)2 JDTRefactoringDescriptorComment (org.eclipse.jdt.internal.corext.refactoring.JDTRefactoringDescriptorComment)1 JDTRefactoringDescriptorComment (org.eclipse.jdt.ls.core.internal.corext.refactoring.JDTRefactoringDescriptorComment)1