package jdepend.util.analyzer.element;
import jdepend.framework.exception.JDependException;
import jdepend.metadata.Method;
import jdepend.model.JavaClassUnit;
import jdepend.model.result.AnalysisResult;
import jdepend.util.analyzer.framework.AbstractAnalyzer;
import jdepend.util.analyzer.framework.Analyzer;
import jdepend.util.analyzer.framework.AnalyzerException;
public class SearchDAONoPageMethod extends AbstractAnalyzer {
/**
*
*/
private static final long serialVersionUID = 5733130337906328027L;
private String daoEndClassName;
private String pageType;
public SearchDAONoPageMethod() {
super("搜索DAO上的没有分页信息的方法", Analyzer.Attention, "搜索DAO上的没有分页信息的方法");
}
@Override
protected void doExecute(AnalysisResult result) throws AnalyzerException {
if (daoEndClassName == null || daoEndClassName.length() == 0) {
throw new AnalyzerException("没有daoEndClassName参数的定义");
}
if (pageType == null || pageType.length() == 0) {
throw new AnalyzerException("没有pageType参数的定义");
}
for (JavaClassUnit javaClass : result.getClasses()) {
if (javaClass.getName().endsWith(daoEndClassName)) {
for (Method method : javaClass.getJavaClass().getSelfMethods()) {
if (method.existReturn()) {
if (method.getReturnTypes().contains("java.util.List")) {
if (!method.getArgumentTypes().contains(pageType)) {
this.print(javaClass.getName() + "." + method.getName());
this.print("\n");
}
}
}
}
}
}
}
public String getDaoEndClassName() {
return daoEndClassName;
}
public void setDaoEndClassName(String daoEndClassName) {
this.daoEndClassName = daoEndClassName;
}
public String getPageType() {
return pageType;
}
public void setPageType(String pageType) {
this.pageType = pageType;
}
}