package com.seventh7.mybatis.locator; import com.intellij.psi.JavaPsiFacade; import com.intellij.psi.PsiClass; import com.intellij.psi.PsiJavaFile; import com.intellij.psi.PsiPackage; import org.jetbrains.annotations.NotNull; /** * @author yanglin */ public class PackageLocateStrategy extends LocateStrategy{ private PackageProvider provider = new MapperXmlPackageProvider(); @Override public boolean apply(@NotNull PsiClass clazz) { String packageName = ((PsiJavaFile) clazz.getContainingFile()).getPackageName(); PsiPackage pkg = JavaPsiFacade.getInstance(clazz.getProject()).findPackage(packageName); for (PsiPackage tmp : provider.getPackages(clazz.getProject())) { if (tmp.equals(pkg)) { return true; } } return false; } }