package jdepend.knowledge.domainanalysis.impl;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import jdepend.framework.util.BundleUtil;
import jdepend.knowledge.domainanalysis.AbstractDomainAnalysis;
import jdepend.knowledge.domainanalysis.AdviseInfo;
import jdepend.knowledge.domainanalysis.StructureCategory;
import jdepend.model.Relation;
import jdepend.model.result.AnalysisResult;
import jdepend.model.util.RelationByMetricsComparator;
public final class RelationRationalityDomainAnalysis extends AbstractDomainAnalysis {
/**
*
*/
private static final long serialVersionUID = -8403210347174082973L;
public RelationRationalityDomainAnalysis() {
super("关系合理性分析器", "用于对最值得关注的关系项目进行建议");
}
@Override
protected AdviseInfo doAdvise(String name, AnalysisResult result) {
if (result.getAttentionRelationScale() > 0) {
List<Relation> relations = new ArrayList<Relation>(result.getRelations());
Collections.sort(relations, new RelationByMetricsComparator(Relation.AttentionLevel, false));
String advise = BundleUtil.getString(BundleUtil.Advise_Relation_AttentionLevel_Big);
AdviseInfo info = new RelationAdviseInfo(relations.get(0));
info.setDesc(advise);
return info;
}
return null;
}
@Override
public StructureCategory getStructureCategory() {
return StructureCategory.RelationRationalityDomainAnalysis;
}
}