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); }