package jetbrains.mps.lang.editor.menus.extras.runtime;
/*Generated by MPS */
import jetbrains.mps.lang.editor.menus.SingleItemMenuPart;
import jetbrains.mps.openapi.editor.menus.transformation.TransformationMenuItem;
import jetbrains.mps.openapi.editor.menus.transformation.TransformationMenuContext;
import org.jetbrains.annotations.Nullable;
import jetbrains.mps.refactoring.framework.IRefactoring;
import jetbrains.mps.refactoring.framework.RefactoringUtil;
import org.jetbrains.annotations.NotNull;
public abstract class RefactoringMenuPartBase extends SingleItemMenuPart<TransformationMenuItem, TransformationMenuContext> {
private final String myRefactoringClassName;
public RefactoringMenuPartBase(String refactoringClassName) {
myRefactoringClassName = refactoringClassName;
}
@Nullable
@Override
protected TransformationMenuItem createItem(TransformationMenuContext context) {
IRefactoring refactoring = RefactoringUtil.getRefactoringByClassName(myRefactoringClassName);
if (refactoring == null) {
return null;
}
return createItem(context, refactoring);
}
@Nullable
protected abstract TransformationMenuItem createItem(@NotNull TransformationMenuContext context, @NotNull IRefactoring refactoring);
}