当前位置: 首页>>代码示例>>Java>>正文


Java RefactoringActionHandler类代码示例

本文整理汇总了Java中com.intellij.refactoring.RefactoringActionHandler的典型用法代码示例。如果您正苦于以下问题:Java RefactoringActionHandler类的具体用法?Java RefactoringActionHandler怎么用?Java RefactoringActionHandler使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


RefactoringActionHandler类属于com.intellij.refactoring包,在下文中一共展示了RefactoringActionHandler类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: doFix

import com.intellij.refactoring.RefactoringActionHandler; //导入依赖的package包/类
@Override
protected void doFix(final Project project, ProblemDescriptor descriptor) throws IncorrectOperationException {
  final PsiNameIdentifierOwner owner = PsiTreeUtil.getParentOfType(descriptor.getPsiElement(), PsiVariable.class, PsiMethod.class);
  if (owner == null) {
    return;
  }
  final RefactoringActionHandler handler = JavaRefactoringActionHandlerFactory.getInstance().createInvertBooleanHandler();
  final Runnable runnable = new Runnable() {
    @Override
    public void run() {
      handler.invoke(project, new PsiElement[]{owner}, null);
    }
  };
  if (ApplicationManager.getApplication().isUnitTestMode()) {
    runnable.run();
  }
  else {
    ApplicationManager.getApplication().invokeLater(runnable, project.getDisposed());
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:21,代码来源:InvertBooleanFix.java

示例2: moveClass

import com.intellij.refactoring.RefactoringActionHandler; //导入依赖的package包/类
private void moveClass(Project project, Editor editor, PsiFile file, PsiClass aClass) {
  RefactoringActionHandler moveHandler = RefactoringActionHandlerFactory.getInstance().createMoveHandler();
  DataManager dataManager = DataManager.getInstance();
  DataContext dataContext = dataManager.getDataContext();
  final String fqName = aClass.getQualifiedName();
  LOG.assertTrue(fqName != null);
  PsiDirectory directory = PackageUtil
    .findOrCreateDirectoryForPackage(myCurrentModule, StringUtil.getPackageName(fqName), mySourceRoot, true);
  DataContext context = SimpleDataContext.getSimpleContext(LangDataKeys.TARGET_PSI_ELEMENT.getName(), directory, dataContext);

  moveHandler.invoke(project, new PsiElement[]{aClass}, context);
  PsiReference reference = file.findReferenceAt(editor.getCaretModel().getOffset());
  PsiClass newClass = JavaPsiFacade.getInstance(project).findClass(fqName, GlobalSearchScope.moduleScope(myCurrentModule));
  if (reference != null && newClass != null) {
    final QuestionAction action = new AddImportAction(project, reference, editor, newClass);
    action.execute();
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:19,代码来源:MoveClassToModuleFix.java

示例3: doFix

import com.intellij.refactoring.RefactoringActionHandler; //导入依赖的package包/类
@Override
public void doFix(@NotNull final Project project, ProblemDescriptor descriptor) {
  final PsiElement nameElement = descriptor.getPsiElement();
  final PsiAnonymousClass aClass =
    (PsiAnonymousClass)nameElement.getParent();
  final JavaRefactoringActionHandlerFactory factory =
    JavaRefactoringActionHandlerFactory.getInstance();
  final RefactoringActionHandler anonymousToInner =
    factory.createAnonymousToInnerHandler();
  final DataManager dataManager = DataManager.getInstance();
  final DataContext dataContext = dataManager.getDataContext();
  final Runnable runnable = new Runnable() {
    @Override
    public void run() {
      anonymousToInner.invoke(project, new PsiElement[]{aClass}, dataContext);
    }
  };
  if (ApplicationManager.getApplication().isUnitTestMode()) {
    runnable.run();
  }
  else {
    ApplicationManager.getApplication().invokeLater(runnable, project.getDisposed());
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:25,代码来源:MoveAnonymousToInnerClassFix.java

示例4: doFix

import com.intellij.refactoring.RefactoringActionHandler; //导入依赖的package包/类
@Override
protected void doFix(@NotNull final Project project, ProblemDescriptor descriptor) throws IncorrectOperationException {
  final PsiElement location = descriptor.getPsiElement();
  final PsiMethod method = (PsiMethod)location.getParent();
  final RefactoringActionHandler moveHandler = RefactoringActionHandlerFactory.getInstance().createMoveHandler();
  final AsyncResult<DataContext> result = DataManager.getInstance().getDataContextFromFocus();
  result.doWhenDone(new Consumer<DataContext>() {
    @Override
    public void consume(final DataContext originalContext) {
      final DataContext dataContext = new DataContext() {
        @Override
        public Object getData(@NonNls String name) {
          if (LangDataKeys.TARGET_PSI_ELEMENT.is(name)) {
            return usageClass.getElement();
          }
          return originalContext.getData(name);
        }
      };
      moveHandler.invoke(project, new PsiElement[]{method}, dataContext);
    }
  });
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:23,代码来源:StaticMethodOnlyUsedInOneClassInspection.java

示例5: doFix

import com.intellij.refactoring.RefactoringActionHandler; //导入依赖的package包/类
@Override
public void doFix(final Project project, ProblemDescriptor descriptor) {
  final PsiExpression expression =
    (PsiExpression)descriptor.getPsiElement();
  final JavaRefactoringActionHandlerFactory factory =
    JavaRefactoringActionHandlerFactory.getInstance();
  final RefactoringActionHandler extractHandler =
    factory.createExtractMethodHandler();
  final DataManager dataManager = DataManager.getInstance();
  final DataContext dataContext = dataManager.getDataContext();
  final Runnable runnable = new Runnable() {
    @Override
    public void run() {
      extractHandler.invoke(project,
                            new PsiElement[]{expression}, dataContext);
    }
  };
  if (ApplicationManager.getApplication().isUnitTestMode()) {
    runnable.run();
  }
  else {
    ApplicationManager.getApplication().invokeLater(runnable);
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:25,代码来源:ExtractMethodFix.java

示例6: doTest

import com.intellij.refactoring.RefactoringActionHandler; //导入依赖的package包/类
private void doTest(String newName) {
  final String testName = getTestName(false);
  final String beforeName = testName + ".before.py";
  final String afterName = testName + ".after.py";
  final String dir = "refactoring/extractmethod/";

  myFixture.configureByFile(dir + beforeName);
  final RefactoringSupportProvider provider = LanguageRefactoringSupport.INSTANCE.forLanguage(PythonLanguage.getInstance());
  assertNotNull(provider);
  final RefactoringActionHandler handler = provider.getExtractMethodHandler();
  assertNotNull(handler);
  System.setProperty(PyExtractMethodUtil.NAME, newName);
  try {
    refactorUsingHandler(handler);
  }
  finally {
    System.clearProperty(PyExtractMethodUtil.NAME);
  }
  myFixture.checkResultByFile(dir + afterName);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:21,代码来源:PyExtractMethodTest.java

示例7: doFix

import com.intellij.refactoring.RefactoringActionHandler; //导入依赖的package包/类
@Override
public void doFix(@NotNull final Project project,
                  ProblemDescriptor descriptor) {

  final PsiElement constant = descriptor.getPsiElement();
  final Application application = ApplicationManager.getApplication();
  application.invokeLater(new Runnable() {

    @Override
    public void run() {
      if (!constant.isValid()) return;
      final JavaRefactoringActionHandlerFactory factory =
        JavaRefactoringActionHandlerFactory.getInstance();
      final RefactoringActionHandler introduceHandler =
        factory.createIntroduceConstantHandler();
      final DataManager dataManager = DataManager.getInstance();
      final DataContext dataContext = dataManager.getDataContext();
      introduceHandler.invoke(project, new PsiElement[]{constant},
                              dataContext);
    }
  }, project.getDisposed());
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:23,代码来源:IntroduceConstantFix.java

示例8: isEnabledOnElements

import com.intellij.refactoring.RefactoringActionHandler; //导入依赖的package包/类
@Override
protected boolean isEnabledOnElements(@NotNull PsiElement[] elements) {
  if (elements.length > 0) {
    Language language = elements[0].getLanguage();
    RefactoringActionHandler handler = getHandler(language, elements[0]);
    return handler instanceof ElementsHandler && ((ElementsHandler)handler).isEnabledOnElements(elements);
  }
  return false;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:10,代码来源:BasePlatformRefactoringAction.java

示例9: doFix

import com.intellij.refactoring.RefactoringActionHandler; //导入依赖的package包/类
@Override
protected void doFix(final Project project, ProblemDescriptor descriptor) throws IncorrectOperationException {
  final PsiExpression expression = getExpressionToExtract(descriptor.getPsiElement());
  if (expression == null) {
    return;
  }
  final RefactoringActionHandler handler = JavaRefactoringActionHandlerFactory.getInstance().createIntroduceVariableHandler();
  final AsyncResult<DataContext> dataContextContainer = DataManager.getInstance().getDataContextFromFocus();
  dataContextContainer.doWhenDone(new Consumer<DataContext>() {
    @Override
    public void consume(DataContext dataContext) {
      handler.invoke(project, new PsiElement[]{expression}, dataContext);
    }
  });
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:16,代码来源:IntroduceVariableFix.java

示例10: doFix

import com.intellij.refactoring.RefactoringActionHandler; //导入依赖的package包/类
@Override
protected void doFix(final Project project, ProblemDescriptor descriptor) throws IncorrectOperationException {
  final PsiElement element = PsiTreeUtil.getParentOfType(descriptor.getPsiElement(), PsiClass.class, PsiMethod.class);
  final AsyncResult<DataContext> context = DataManager.getInstance().getDataContextFromFocus();
  context.doWhenDone(new Consumer<DataContext>() {
    @Override
    public void consume(DataContext dataContext) {
      final JavaRefactoringActionHandlerFactory factory = JavaRefactoringActionHandlerFactory.getInstance();
      final RefactoringActionHandler handler = factory.createReplaceConstructorWithFactoryHandler();
      handler.invoke(project, new PsiElement[]{element}, dataContext);
    }
  });
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:14,代码来源:PublicConstructorInspection.java

示例11: getHandler

import com.intellij.refactoring.RefactoringActionHandler; //导入依赖的package包/类
@Override
protected RefactoringActionHandler getHandler(@NotNull Language language, PsiElement element) {
  RefactoringActionHandler handler = super.getHandler(language, element);
  if (handler != null) return handler;
  List<InlineHandler> handlers = InlineHandlers.getInlineHandlers(language);
  return handlers.isEmpty() ? null : new InlineRefactoringActionHandler();
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:8,代码来源:InlineAction.java

示例12: update

import com.intellij.refactoring.RefactoringActionHandler; //导入依赖的package包/类
@Override
public void update(final AnActionEvent e) {
  super.update(e);
  final RefactoringActionHandler handler = getHandler(e.getDataContext());
  if (handler instanceof TitledHandler) {
    e.getPresentation().setText(((TitledHandler) handler).getActionTitle());
  }
  else {
    e.getPresentation().setText("Include File...");
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:12,代码来源:ExtractIncludeAction.java

示例13: getHandler

import com.intellij.refactoring.RefactoringActionHandler; //导入依赖的package包/类
@Nullable
protected RefactoringActionHandler getHandler(@NotNull Language language, PsiElement element) {
  List<RefactoringSupportProvider> providers = LanguageRefactoringSupport.INSTANCE.allForLanguage(language);
  if (providers.isEmpty()) return null;
  if (element == null) return getRefactoringHandler(providers.get(0));
  for (RefactoringSupportProvider provider : providers) {
    if (provider.isAvailable(element)) {
      return getRefactoringHandler(provider, element);
    }
  }
  return null;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:13,代码来源:BasePlatformRefactoringAction.java

示例14: getIntroduceVariableHandler

import com.intellij.refactoring.RefactoringActionHandler; //导入依赖的package包/类
@Override
public RefactoringActionHandler getIntroduceVariableHandler() {
    return new LuaIntroduceVariableHandler();
}
 
开发者ID:internetisalie,项目名称:lua-for-idea,代码行数:5,代码来源:LuaRefactoringSupportProvider.java

示例15: RunRefactoringAction

import com.intellij.refactoring.RefactoringActionHandler; //导入依赖的package包/类
public RunRefactoringAction(RefactoringActionHandler handler, String commandName) {
  myHandler = handler;
  myCommandName = commandName;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:5,代码来源:RunRefactoringAction.java


注:本文中的com.intellij.refactoring.RefactoringActionHandler类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。