| package com.intellij.refactoring.move.moveClassesOrPackages; |
| |
| import com.intellij.psi.PsiClass; |
| import com.intellij.psi.PsiClassOwner; |
| import com.intellij.psi.PsiElement; |
| import com.intellij.psi.impl.light.LightClass; |
| import com.intellij.util.ArrayUtil; |
| import org.jetbrains.annotations.NotNull; |
| |
| import java.util.Map; |
| |
| public class MoveJavaClassesInFileHandler extends MoveAllClassesInFileHandler { |
| |
| @Override |
| public void processMoveAllClassesInFile(@NotNull Map<PsiClass, Boolean> allClasses, PsiClass psiClass, PsiElement... elementsToMove) { |
| if (psiClass instanceof LightClass) return; |
| final PsiClassOwner containingFile = (PsiClassOwner)psiClass.getContainingFile(); |
| final PsiClass[] classes = containingFile.getClasses(); |
| boolean all = true; |
| for (PsiClass aClass : classes) { |
| if (ArrayUtil.find(elementsToMove, aClass) == -1) { |
| all = false; |
| break; |
| } |
| } |
| for (PsiClass aClass : classes) { |
| allClasses.put(aClass, all); |
| } |
| } |
| } |