package com.seventh7.mybatis.intention;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiMethod;
import com.intellij.psi.PsiParameter;
import com.intellij.psi.util.PsiTreeUtil;
import com.seventh7.mybatis.annotation.Annotation;
import com.seventh7.mybatis.util.JavaUtils;
import org.jetbrains.annotations.NotNull;
/**
* @author yanglin
*/
public class GenerateParamChooser extends JavaFileIntentionChooser{
public static final JavaFileIntentionChooser INSTANCE = new GenerateParamChooser();
@Override
public boolean isAvailable(@NotNull PsiElement element) {
PsiParameter parameter = PsiTreeUtil.getParentOfType(element, PsiParameter.class);
PsiMethod method = PsiTreeUtil.getParentOfType(element, PsiMethod.class);
return (null != parameter && !JavaUtils.isAnnotationPresent(parameter, Annotation.PARAM)) ||
(null != method && !JavaUtils.isAllParameterWithAnnotation(method, Annotation.PARAM));
}
}