package jdepend.util.analyzer.element;
import jdepend.framework.domain.notPersistent;
import jdepend.metadata.JavaClass;
import jdepend.metadata.tree.JavaClassTree;
import jdepend.metadata.tree.TreeCreatorFacade;
import jdepend.model.result.AnalysisResult;
import jdepend.util.analyzer.framework.AbstractAnalyzer;
import jdepend.util.analyzer.framework.Analyzer;
import jdepend.util.analyzer.framework.AnalyzerException;
import jdepend.util.analyzer.framework.ClassAttribute;
public class JavaClassAutowiredTreeAnalyse extends AbstractAnalyzer {
private static final long serialVersionUID = -4243756500532110103L;
private transient JavaClass javaClass;
public JavaClassAutowiredTreeAnalyse() {
super("Autowired结构分析", Analyzer.Attention, "Autowired结构分析");
}
@Override
protected void doExecute(AnalysisResult result) throws AnalyzerException {
if (this.javaClass == null) {
throw new AnalyzerException("请指定javaClass");
}
JavaClassTree tree = TreeCreatorFacade.createJavaClassAutowiredTree(javaClass);
if (tree != null) {
this.printTree(tree.getRoots().get(0));
}
}
@Override
public String getExplain() {
StringBuilder explain = new StringBuilder();
explain.append("<strong>Autowired结构分析</strong>查看Spring的Autowired树结构。<br>");
return explain.toString();
}
public JavaClass getJavaClass() {
return javaClass;
}
@notPersistent
@ClassAttribute
public void setJavaClass(JavaClass javaClass) {
this.javaClass = javaClass;
}
}