package com.seventh7.mybatis.definitionsearch; import com.intellij.openapi.application.QueryExecutorBase; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiTypeParameterListOwner; import com.intellij.psi.xml.XmlElement; import com.intellij.util.Processor; import com.intellij.util.xml.DomElement; import com.seventh7.mybatis.service.JavaService; import org.jetbrains.annotations.NotNull; /** * @author yanglin */ public class MapperDefinitionSearch extends QueryExecutorBase<XmlElement, PsiElement> { public MapperDefinitionSearch() { super(true); } @Override public void processQuery(@NotNull PsiElement element, @NotNull final Processor<XmlElement> consumer) { if (!(element instanceof PsiTypeParameterListOwner)) return; Processor<DomElement> processor = new Processor<DomElement>() { @Override public boolean process(DomElement domElement) { return consumer.process(domElement.getXmlElement()); } }; JavaService.getInstance(element.getProject()).process(element, processor); } }