package com.seventh7.mybatis.generate; import com.google.common.base.Optional; import com.intellij.psi.PsiClass; import com.intellij.psi.PsiMethod; import com.seventh7.mybatis.dom.model.GroupTwo; import com.seventh7.mybatis.dom.model.Mapper; import com.seventh7.mybatis.dom.model.Select; import org.jetbrains.annotations.NotNull; /** * @author yanglin */ public class SelectGenerator extends StatementGenerator { public SelectGenerator(@NotNull String... patterns) { super(patterns); } @NotNull @Override protected GroupTwo getTarget(@NotNull Mapper mapper, @NotNull PsiMethod method) { Select select = mapper.addSelect(); setupResultType(method, select); return select; } private void setupResultType(PsiMethod method, Select select) { Optional<PsiClass> clazz = StatementGenerator.getSelectResultType(method); if (clazz.isPresent()) { select.getResultType().setValue(clazz.get()); } } @NotNull @Override public String getId() { return "SelectGenerator"; } @NotNull @Override public String getDisplayText() { return "Select Statement"; } }