package jdepend.model; import java.util.HashMap; import java.util.Map; import jdepend.model.result.AnalysisResult; public class MetricsEvaluate { private static Map<String, Boolean> evaluateBigs; static { evaluateBigs = new HashMap<String, Boolean>(); evaluateBigs.put(AnalysisResult.Metrics_TotalScore, true); evaluateBigs.put(AnalysisResult.Metrics_D, true); evaluateBigs.put(AnalysisResult.Metrics_Balance, true); evaluateBigs.put(AnalysisResult.Metrics_RelationRationality, true); evaluateBigs.put(AnalysisResult.Metrics_Encapsulation, true); evaluateBigs.put(AnalysisResult.Metrics_RelationComponentScale, false); evaluateBigs.put(AnalysisResult.Metrics_Coupling, false); evaluateBigs.put(AnalysisResult.Metrics_Cohesion, true); evaluateBigs.put(Relation.CurrentCohesion, true); evaluateBigs.put(Relation.DependCohesion, true); evaluateBigs.put(Relation.Intensity, false); evaluateBigs.put(Relation.Balance, true); evaluateBigs.put(Relation.AttentionLevel, false); evaluateBigs.put(Relation.AttentionType, false); evaluateBigs.put(Relation.isProblem, false); evaluateBigs.put(JavaClassUnit.Stable, false); evaluateBigs.put(JavaClassUnit.isPrivateElement, true); evaluateBigs.put(MetricsMgr.A, true); evaluateBigs.put(MetricsMgr.I, false); evaluateBigs.put(MetricsMgr.D, true); evaluateBigs.put(MetricsMgr.V, true); evaluateBigs.put(MetricsMgr.Coupling, false); evaluateBigs.put(MetricsMgr.Cohesion, true); evaluateBigs.put(MetricsMgr.Balance, true); evaluateBigs.put(MetricsMgr.Encapsulation, true); evaluateBigs.put(MetricsMgr.Cycle, false); } public static Boolean evaluate(int result, String metrics) { Boolean biger = evaluateBigs.get(metrics); if (biger == null) { return null; } else { if (result < 0) { return !biger; } else { return biger; } } } }