/* This file is part of Green. * * Copyright (C) 2005 The Research Foundation of State University of New York * All Rights Under Copyright Reserved, The Research Foundation of S.U.N.Y. * * Green is free software, licensed under the terms of the Eclipse * Public License, version 1.0. The license is available at * http://www.eclipse.org/legal/epl-v10.html */ package edu.buffalo.cse.green.editor.action; import org.eclipse.jdt.core.IMethod; import org.eclipse.jdt.core.JavaModelException; import org.eclipse.jdt.internal.corext.refactoring.RefactoringExecutionStarter; /** * An adaptation of Refactor -> Change Method Signature. * * @author bcmartin */ public class RefactorMethodSignatureAction extends ContextAction { /** * @see edu.buffalo.cse.green.editor.action.ContextAction#doRun() */ public void doRun() throws JavaModelException { IMethod method = (IMethod) _element; RefactoringExecutionStarter.startChangeSignatureRefactoring(method, null, getEditor().getSite().getShell()); getEditor().refresh(); getEditor().autoSave(); } /** * @see edu.buffalo.cse.green.editor.action.ContextAction#getLabel() */ public String getLabel() { return "Change Method Signature..."; } /** * @see edu.buffalo.cse.green.editor.action.ContextAction#getSupportedModels() */ protected int getSupportedModels() { return CM_METHOD; } /** * @see edu.buffalo.cse.green.editor.action.ContextAction#getPath() */ public Submenu getPath() { return Submenu.Refactor; } /** * @see edu.buffalo.cse.green.editor.action.ContextAction#isEnabled() */ public boolean isEnabled() { return !isBinary(); } }