package org.eclipse.dltk.internal.javascript.corext.refactoring.rename;
import org.eclipse.core.runtime.Assert;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.dltk.core.IMethod;
import org.eclipse.dltk.core.IModelElement;
import org.eclipse.dltk.internal.corext.refactoring.rename.RenameModelElementProcessor;
import org.eclipse.dltk.internal.javascript.corext.refactoring.Checks;
import org.eclipse.dltk.internal.javascript.corext.refactoring.RefactoringCoreMessages;
import org.eclipse.dltk.javascript.core.JavaScriptLanguageToolkit;
import org.eclipse.ltk.core.refactoring.RefactoringStatus;
public class RenameFunctionProcessor extends RenameModelElementProcessor {
public static final String IDENTIFIER = "org.eclipse.dltk.javascript.renameFunctionProcessor"; //$NON-NLS-1$
public RenameFunctionProcessor(IModelElement function) {
super(function, JavaScriptLanguageToolkit.getDefault());
}
@Override
public String getIdentifier() {
return IDENTIFIER;
}
public RefactoringStatus checkNewElementName(String newName)
throws CoreException {
return Checks.validateIdentifier(newName);
}
@Override
public boolean isApplicable() throws CoreException {
if (!Checks.isAvailable(fModelElement))
return false;
Assert.isTrue(fModelElement instanceof IMethod);
IMethod method = (IMethod)fModelElement;
return !"".equals(method.getElementName());
}
@Override
public String getProcessorName() {
return RefactoringCoreMessages.RenameMethodRefactoring_name;
}
}